如何在数据库中插入日期时间
本文关键字:插入 日期 时间 数据库 | 更新日期: 2023-09-27 18:21:23
我正在制作考勤系统,不知道如何将日期时间存储在数据库中。我真的需要一些关于我的系统的帮助。如果有人有任何考勤代码,请分享你的代码。谢谢。。
这是我的代码:
con = newSqlConnection(@"DataSource=.'SQLEXPRESS;AttachDbFilename=|DataDirectory|'Database.mdf;Integrated Security=True;User Instance=True");
dt = new DataTable();
cmd = new SqlCommand(@"SELECT EmpID FROM data WHERE EmpID='" + Code.Text + "'", con);
con.Open();
sdr = cmd.ExecuteReader();
int count = 0;
while (sdr.Read())
{
count = count + 1;
}
con.Close();
if (count == 1)
{
con.Open();
DateTime dtn = DateTime.Now;
dtn = Convert.ToDateTime(DateTime.Now.ToString("hh:mm"));
string query = @"INSERT INTO Time (TimeIn) Values ('" + dtn + "')";
cmdd = new SqlCommand(query, con);
sdr = cmdd.ExecuteReader();
sdr.Read();
dataGridView.DataSource = databaseDataSet.Time ;
con.Close();
MessageBox.Show("Verify Ok");
}
else
{
MessageBox.Show("Please Try Again");
}
不要使用ExecuteReader()
,而是使用ExecuteNonQuery()
;添加查询参数,不修改查询文本,从技术上讲可能是这样的:
...
if (count == 1) {
...
DateTime dtn = DateTime.Now;
string query =
@"insert into Time (
TimeIn)
values (
@TimeIn)"; // <- query parameter instead of query text modification
using (var query = new SqlCommand(query, con)) {
// bind query parameter with its actual value
query.Parameters.AddWithValue("@TimeIn", dtn);
// Just execute query, no reader
query.ExecuteNonQuery();
}
...
然而,问题中出现的表Time
看起来非常奇怪,它几乎不只包含TimeIn
字段。