首页 > 解决方案 > 从文本框中获取输入并将其插入 mysql 数据库时,如何更正我的日期时间值?

问题描述

当我将日期值插入数据库时​​,我不断从 Visual Studio 收到此错误

MySql.Data.MySqlClient.MySqlException:'不正确的日期时间值:'0014-04-2021''

我将我的 DateTime 选择器格式更改为短格式,以便它不包括从 DateTime 选择器获取值的时间,但问题仍然存在。

这是我的 SQL 查询代码

MySqlCommand cmd = new MySqlCommand("insert into inventory.vehicle(regdate) values(@regdate)", conn);

cmd.Parameters.Add("@regdate", MySqlDbType.Date).Value = datereg.Text;

int i = cmd.ExecuteNonQuery();

标签: c#mysqlvisual-studio

解决方案


您应该在 MySQL 中将您的列声明为 DATE 类型

然后.Date在 datetimepicker 上使用.Value

cmd.Parameters.Add("@regdate", MySqlDbType.Date).Value = datereg.Value.Date;

您应该注意,这不会从日期中“删除”时间;它设置为午夜。没有办法从日期中删除时间——时刻就是时刻,就像 1 和 1.0 一样。1 的格式可能没有任何十进制数字,但说 1 和 1.0 不同是不合逻辑的

一旦您使所有日期都具有相同的时间(午夜,00:00:00,这实际上是 1.0 中的 .0),单独比较日期时间的能力是有意义的。


推荐阅读