已有57人关注
C#开发实战宝典
发表在C#图书答疑 2010-12-20
是否精华
版块置顶:
你好,《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类中的自定义方法,用于查找指定时间内,过生日的职工

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


明日读者,我的邮箱是gxgongxueyuan123@.com
分享到:
精彩评论 3
东方_mrkj
学分:0 LV1
2010-12-21
沙发
读者你好:
    可以尝试把Show_Form("人事档案浏览", 1)语句改为“Show_Form("人事档案管理", 1),这样可以打开相关员工的档案信息。
heibao
学分:0 LV1
TA的每日心情
开心
2022-07-07 18:01:50
2010-12-22
板凳
大麦你好,该不该都一样,不改我也一样可以打开人事管理窗口,我说的问题是,这个方法不是说实现提示即将到期的员工信息吗,但是系统上根本就没有提示这个窗口!
小科_mrkj
学分:43 LV2
2010-12-23
地板
读者朋友:
    您好,你把PactDay方法中的Show_Form("人事档案浏览", 1)语句改为“Show_Form("人事档案管理", 1),然后在窗体的加载的时候,可以根据你设置的生日提前提醒时间和合同提前提醒时间提示,并打开“人事档案管理”窗体。没有提示是因为没有查询到数据,你可以在主窗体的MyMenu.PactDay(1);这条语句出插入断点,然后按F11进入到该方法体内,看一下它的执行过程。
首页上一页 1 下一页尾页 3 条记录 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经营性网站备案信息 营业执照