一、任务需求
-
管理员可查询全部人员的打卡记录,同时也可附加条件查询特定人员记录
-
普通职员仅可查询自己的打卡记录
二、准备(查询界面)
查询界面.jpg
三、管理员查询(主要代码)
private void bt_Query_Click(object sender, EventArgs e)
{
// 连接字符串,注意与实际环境保持一致
String connStr1 = ConfigurationManager.ConnectionStrings["KQ"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connStr1);
try
{
// 连接数据库
sqlConn.Open();
// 构造命令(查询所有)
String sqlStr = "select * from record";
// 添加查询条件
if (!this.tb_Id.Text.Trim().Equals(""))
{
sqlStr += " where employee_id='" + this.tb_Id.Text.Trim() + "'";
}
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
// 将该查询过程绑定到DataAdapter
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = cmd;
// 将DataSet和DataAdapter绑定
DataSet ds = new DataSet();
// 自定义一个表来标识数据库的record表
adp.Fill(ds, "cx1");
// 指定DataGridView的数据源为DataSet的cx表
this.dgv_Goods.DataSource = ds.Tables["cx1"];
}
catch (Exception exp)
{
MessageBox.Show("访问数据库错误:" + exp.Message);
}
finally
{
sqlConn.Close();
}
}
四、普通职员查询(主要代码)
private void bt_Query_Click(object sender, EventArgs e)
{
// 连接字符串,注意与实际环境保持一致
String connStr1 = ConfigurationManager.ConnectionStrings["KQ"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connStr1);
try
{
// 连接数据库
sqlConn.Open();
// 构造命令
String sqlStr = "select * from record";
// 添加查询条件
if (!this.tb_Id.Text.Trim().Equals(""))
{
sqlStr += " where employee_id='" + this.tb_Id.Text.Trim() + "'";
}
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
// 将该查询过程绑定到DataAdapter
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = cmd;
// 将DataSet和DataAdapter绑定
DataSet ds = new DataSet();
// 自定义一个表来标识数据库的record表
adp.Fill(ds, "cx1");
// 指定DataGridView的数据源为DataSet的cx表
this.dgv_Goods.DataSource = ds.Tables["cx1"];
}
catch (Exception exp)
{
MessageBox.Show("访问数据库错误:" + exp.Message);
}
finally
{
sqlConn.Close();
}
}
五、成果展示
1、管理员查询
管理员查询.gif
2、普通员工514查询
普通员工查询.gif
3、登录表数据
登陆数据库.png
4、考勤数据表
考勤数据表.gif
网友评论