hi,
am developing visitor tracking system, when visitor come ,we r giving a RFID card,and he swips the card enters into office, when he come out, that card handovers to watchmen.then again that card given to some other visitor.
then here the problem is how to write in time and out time. Here is the code am writing:
String intime = "";
String outtime = "";
String indatetime=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
String outdatetime = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
using (MySqlConnection con = new MySqlConnection(ConnectionString))
{
String query = "select * from visitor where card_id=@id ORDER BY card_id DESC LIMIT 1";
MySqlCommand command = new MySqlCommand(query, con);
command.Parameters.AddWithValue("@id", txtAddVisitorCardId.Text);
con.Open();
using (MySqlDataReader rdr = command.ExecuteReader())
{
if (rdr.Read())
{
intime = rdr["in_time"].ToString();
outtime = rdr["out_time"].ToString();
}
}
}
if (((intime == "") && (outtime == "")) || ((intime!="")&&(outtime !="")))
{
using (MySqlConnection con = new MySqlConnection(ConnectionString))
{
String query = "insert into visitor(card_id, name, age, address, id_proof, contact_person, purpose, in_time) values (@id, @name, @age, @address, @idproof, @contact, @purpose, @in)";
MySqlCommand command = new MySqlCommand(query, con);
command.Parameters.AddWithValue("@id", txtAddVisitorCardId.Text);
command.Parameters.AddWithValue("@name", txtAddVisitorName.Text);
command.Parameters.AddWithValue("@age", txtAddVisitorAge.Text);
command.Parameters.AddWithValue("@address", txtAddVisitorAddress.Text);
command.Parameters.AddWithValue("@idproof", txtAddVisitorIDProof.Text);
command.Parameters.AddWithValue("@contact", txtAddVisitorContactPerson.Text);
command.Parameters.AddWithValue("@purpose", txtAddVisitorPurpose.Text);
command.Parameters.AddWithValue("@in", indatetime);
con.Open();
command.ExecuteNonQuery();
MessageBox.Show("Visitor Added Successfully");
}
}
else if ((intime != "") && (outtime == ""))
{
using (MySqlConnection con = new MySqlConnection(ConnectionString))
{
String query = "update visitor set out_time=@out where card_id=@id ORDER BY card_id DESC LIMIT 1";
MySqlCommand command = new MySqlCommand(query, con);
command.Parameters.AddWithValue("@id", txtAddVisitorCardId.Text);
command.Parameters.AddWithValue("@out", outdatetime);
con.Open();
command.ExecuteNonQuery();
}
}