首页上一页 1 下一页尾页 2 条记录 1/1页
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
另外我有个语句不明白什么意思,就是在员工合同查询的那段代码,我把它贴上来:
#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