PDA

View Full Version : سوال: نحوه کد نوشتن برای حضور و غیاب



vid4259
چهارشنبه 04 فروردین 1395, 11:21 صبح
سلام دوتا جدول دارم یکی اطلاعات پرسنل و دیگری ذخیره زمان ورود -زمان خروج- ای دی و کدپرسنل(کلید خارجی از جدول پرسنل)
الان می خوام وقتی که کاربر وارد میشه زمان ورود و قتی خارج شد زمان خروج رو ثبت کنه با توجه به این نکته که یک کاربر در یک روز می تونه چندین بار خارج یا وارد بشه
خودم کد براش نوشتم وبرای اولین بار درست کار میکنه ،یعنی اولین بار که وارد شد و خارج شد درسته ولی اگر بار دوم وارد بشه زمان خروج ثبت نمیشه لطفا راهنمایم کنید

SqlCommand cmdceck = new SqlCommand("select * from tb where id_atue ='" + id.Text + "' ", con);
SqlDataReader dr;


con.Open();
dr = cmdceck.ExecuteReader();


if (dr.Read())
{
p.id_ = dr["id_"].ToString();
p.id_atuo_ = dr["id_atue"].ToString();//ای دی پرسنل
p.in_ = dr["in_"].ToString();
p.out_ = dr["out_"].ToString();
}


con.Close();






if (p.in_ == "" && p.out_ == "")
{

SqlCommand cmd = new SqlCommand("UPDATE tb set in_=@in_ WHERE id_atue='" + id.Text + "'", con);


cmd.Parameters.Add("in_", SqlDbType.NVarChar).Value = in_.Text + " " + time.Text;




con.Open();
cmd.ExecuteNonQuery();
con.Close();
fill_();




}
else if (p.in_ != "" && p.out_ == "")
{
SqlCommand cmd = new SqlCommand("UPDATE tb set out_=@out_ WHERE id_atue='" + id.Text + "'", con);
cmd.Parameters.Add("out_", SqlDbType.NVarChar).Value = in_.Text + " " + time.Text;



con.Open();
cmd.ExecuteNonQuery();
con.Close();
fill_();








}


else if (p.in_ != "" && p.out_ != "")
{


SqlCommand cmd = new SqlCommand("Insert into tb (id_atue,in_) values (@id_atue,@in_ ,) ", con);


cmd.Parameters.Add("id_atue", SqlDbType.NVarChar).Value = id.Text;


cmd.Parameters.Add("in_", SqlDbType.NVarChar).Value = in_.Text + " " + time.Text;



con.Open();
cmd.ExecuteNonQuery();
con.Close();


fill_();


}


id.Text = "";