有两张桌子。 第一个表注册个人信息,节省进入和退出第二个表的时间
第一个表格字段为:ID, National code, name
第二个表字段:ID, National code, entering time, exiting time
。国家代码外键。
当用户输入他们的国家代码时。记录时间,第二次输入国家代码时,退出时间记录。 但问题是当用户在一天中进入和退出几次时,另一个则无效。
我使用以下代码:
if (txt_code.Text != "")
{
SqlCommand cmdceck = new SqlCommand("select * from tb where code ='" + txt_code.Text + "' ", con);
SqlDataReader dr;
con.Open();
dr = cmdceck.ExecuteReader();
if (dr.Read())
{
p.id= dr["id"].ToString();
p.code = dr["code"].ToString();
p.date_enter = dr["date_enter"].ToString();
p.date_exit = dr["date_exit"].ToString();
}
con.Close();
//
if (p.date_enter == "" && p.date_exit == "" )
{
SqlCommand cmd = new SqlCommand("UPDATE tb set date_enter=@date_enter WHERE code='" + txt_code.Text + "'", con);
cmd.Parameters.Add("date_enter", SqlDbType.NVarChar).Value = lb_date_time.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
fill();
}
//
else if (p.date_enter != "" && p.date_exit == "" )
{
SqlCommand cmd = new SqlCommand("UPDATE tb set date_exit=@date_exit WHERE code='" + txt_code.Text + "'", con);
cmd.Parameters.Add("date_exit", SqlDbType.NVarChar).Value = lb_date_time.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
fill();
}
//
else if (p.date_enter != "" && p.date_exit != "" )
{
SqlCommand cmd = new SqlCommand("Insert into tb (code,date_enter) values (@code,@date_enter) ", con);
cmd.Parameters.Add("code", SqlDbType.NVarChar).Value = txt_code.Text;
cmd.Parameters.Add("date_enter", SqlDbType.NVarChar).Value = lb_date_time.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
fill();
}