已有56人关注
C#开发实战宝典
发表在C#图书答疑 2010-12-24
是否精华
版块置顶:
你好,《C#开发实战宝典》第29章企业人事管理系统,关于在指定日期内查询员工合同,这个功能你们没有做啊,系统只有设置多少天提示合同日期,但没有显示合同提示啊!

另外我有个语句不明白什么意思,就是在员工合同查询的那段代码,我把它贴上来:
#region 查询指定范围内生日与合同到期的职工
/// <summary>
/// 查询指定范围内生日与合同到期的职工.
/// </summary>
/// <param name="i">标识,判断查询的是生日,还是合同</param>
public void PactDay(int i)
{
DataSet DSet = MyDataClass.getDataSet("select * from tb_Clew where kind=" + i + " and unlock=1", "tb_clew");
if (DSet.Tables[0].Rows.Count > 0)
{
string Vfield = "";
string dSQL = "";
int sday = Convert.ToInt32(DSet.Tables[0].Rows[0][1]);
if (i == 1)
{
Vfield = "Birthday";
dSQL = "select * from tb_Stuffbusic where (datediff(day,getdate(),convert(Nvarchar(12),cast (cast (year(getdate()) as char(4))+'-'+ cast(month(" + Vfield + ") as char(2))+'-'+ cast (day(" + Vfield + ") as char(2)) as datetime),110))<=" + sday + ") and (datediff(day,getdate(),convert(Nvarchar(12),cast (cast (year(getdate()) as char(4))+'-'+ cast(month(" + Vfield + ") as char(2))+'-'+cast (day(" + Vfield + ") as char(2)) as datetime),110))>=0)";
}
else
{
Vfield = "Pact_E";
dSQL = "select * from tb_Stuffbusic where ((getdate()-convert(Nvarchar(12)," + Vfield + ",110))>=-" + sday + " and (getdate()-convert(Nvarchar(12)," + Vfield + ",110))<=0)";
}
DSet = MyDataClass.getDataSet(dSQL, "tb_Stuffbusic");
if (DSet.Tables[0].Rows.Count > 0)
{
if (i == 1)
Vfield = "是否查看" + sday.ToString() + "天内过生日的职工信息?";
else
Vfield = "是否查看" + sday.ToString() + "天内合同到期的职工信息?";
if (MessageBox.Show(Vfield, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
DataClass.MyMeans.AllSql = dSQL;
Show_Form("人事档案浏览", 1);
}
}
}
}
#endregion

这个方法在程序中根本就没起作用,你们是不是少做了这个功能。因为这里根本就没显示指定日期的员工生日查询。这个方法是在窗体加载的时候调用,代码是

private void F_Main_Load(object sender, EventArgs e)
{
F_Login FrmLogin = new F_Login(); //声时登录窗体,进行调用
FrmLogin.Tag = 1; //将登录窗体的Tag属性设为1,表示调用的是登录窗体
FrmLogin.ShowDialog();
FrmLogin.Dispose();
//当调用的是登录窗体时
if (DataClass.MyMeans.Login_n == 1)
{
Preen_Main(); //自定义方法,通过权限对窗体进行初始化
MyMenu.PactDay(1); //MyModule类中的自定义方法,用于查找指定时间内,过生日的职工
MyMenu.PactDay(2); //MyModule类中的自定义方法,用于查找合同到期的职工
}
DataClass.MyMeans.Login_n = 3; //将公共变量设为3,便于控制登录窗体的关闭
// Tool_Help.Enabled = false;
}
但是我把 MyMenu.PactDay(1); //MyModule类中的自定义方法,用于查找指定时间内,过生日的职工

给注释掉,对我整个程序的运行根本就没影响,因为系统里面没这个方法的功能啊!你们是不是漏写了这个功能,刚进去系统的时候哪有什么提示说查询员工生日信息啊。

大麦,我按照你的说法把Show_Form("人事档案浏览", 1)语句改为“Show_Form("人事档案管理", 1),这样可以打开相关员工的档案信息。

但是改不改都一样,不改我也一样可以打开人事管理窗口,我说的问题是,这个方法不是说实现提示即将到期的员工信息吗,但是系统上根本就没有提示这个窗口!你说的“人事档案浏览”,在下拉菜单的单击事件中实现的了,根本就不关这个方法的事啊! 如下这个方法:

#region 查询指定范围内生日与合同到期的职工
/// <summary>
/// 查询指定范围内生日与合同到期的职工.
/// </summary>
/// <param name="i">标识,判断查询的是生日,还是合同</param>
public void PactDay(int i)


明日读者,我的邮箱是gxgongxueyuan123@.com


小科,我按照你的要求把PactDay方法中的Show_Form("人事档案浏览", 1)语句改为“Show_Form("人事档案管理", 1),你说在窗体加载的时候会提示信息,但没提示啊。我把“员工合同提示”设置为提前一天,而我把一个员工的合同结束日期设置为2010-12-25,而系统的时间是2010-12-24,结果也没提示啊!

谢谢!
分享到:
精彩评论 1
东方_mrkj
学分:0 LV1
2010-12-24
沙发
读者你好:
    刚刚试过了,如果Show_Form("人事档案管理", 1),则员工合同提示功能没有问题,建议你仔细查看“人事档案管理”窗口中“合同截止日期”填写的是否正确,另外还包括开始日期,合同年限。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照