我一直在研究如何使用 Visual Studio 将日期插入到我的 mySql 数据库中。我理解 mySql 只接受某种格式的错误,并且我一直在 stackoverflow 上浏览网络和其他类似的主题...但几乎所有示例都将日期作为预制字符串,并使用它进行更改parseexact 转换
它看起来像这样:
result = DateTime.ParseExact(nowstring, format, provider)
但问题是我正在尝试使用 dateTime.now 函数。我希望每次我的程序执行某些操作时都将实时日期时间添加到数据库中..根据我的研究,它应该看起来像这样..
string nowstring, format;
DateTime result;
System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
format = "yyyy-MM-dd";
nowstring = DateTime.Now.ToString();
result = DateTime.ParseExact(nowstring, format, provider);
我想我只是做错了什么,因为我们还没有在学校解决这个问题,或者我只是错过了一些基本的东西。不管怎样,我很高兴感谢您的帮助。
最佳答案
如果您要插入的列 DATE
or DATETIME
type ,您不需要任何这些格式化和解析操作。
只需将 DateTime.Now
直接传递到表的参数化插入查询即可。
MySQL 不会将您的 DateTime
值保存为这些列类型的字符。它将它们保存为人类无法读取的二进制文件。您可以使用 'YYYY-MM-DD'
或 'YYYY-MM-DD HH:MM:SS'
格式查看它们作为数据库中的表示形式。
例如;
using(var con = new MySqlConnection(conString))
using(var cmd = con.CreateCommand())
{
cmd.CommandText = "insert into tbl_operators (DateJoined) values (@date)";
cmd.Parameters.AddWithValue("@date", DateTime.Now);
con.Open();
cmd.ExecuteNonQuery();
}
关于c# - 如何在 C# 中向 mySql 数据库添加日期 (DateTime.now),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28925959/