c# - 从文本框中获取输入并将其插入 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();
解决方案
您应该在 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),单独比较日期时间的能力是有意义的。
推荐阅读
- mobile-safari - 通过 Javascript 检测 Apple Watch(例如,用户代理)
- react-native - 使用 redux 调度操作后如何导航到另一个屏幕
- c++ - 问题是将数据写入特定单元格并且文件已损坏
- javascript - if 语句中的语法问题
- javascript - Javascript/Jquery RPG 游戏的战斗系统(计时器)
- javascript - JavaScript 范围规则:如何在回调中使用 clearInterval()
- ruby-on-rails - 连接被拒绝:Postgres 中的操作超时
- linked-list - 二和 Leetcode Rust 解决方案?
- scala - Akka http 将标头添加到带有正文的 POST 请求中
- python - 具有 Decimal 数据类型和 json.dumps() 的嵌套对象