我有一个 C# 应用程序,它需要将当前日期时间插入datetimeMySQL 数据库中的一个字段。我该如何实现?
我正在使用 MySQL 连接器/NET 6.9.9。以下是我迄今为止尝试过的。data.currentDateTime是 类型MySqlDateTime。
数据库中的预期结果是正确的日期时间,但实际值为0000-00-00 00:00:00。
// Set up data object and add datetime
MyData data = new MyData();
data.currentDateTime = new MySqlDateTime(DateTime.Now);
// Insert into database
try
{
MySqlConnection conn = getMySqlConnection();
conn.Open();
MySqlCommand cmd = new MySqlCommand(@"
INSERT INTO my_data (`current_datetime`)
VALUES (@currentDateTime)
", conn);
log.Debug(data.currentDateTime); // correct timestamp
cmd.Parameters.AddWithValue("currentDateTime", data.currentDateTime);
cmd.ExecuteNonQuery();
// Value in the database is 0000-00-00 00:00:00
} catch (Exception e) {
// Hnadle exception
}
MyData 类:
public class MyData
{
public int id { get; set; }
public MySqlDateTime currentDateTime { get; set; }
// Other fields
public MyData()
{
// Empty constructor
}
}
相关分类