【问题标题】:Cant Insert date in mysql date attribute无法在mysql日期属性中插入日期
【发布时间】:2013-04-27 21:41:48
【问题描述】:

我有一个 asp.net 项目,我必须从用户那里获取输入并将其插入到我的数据库中的日期属性中。但相反,我只有 0000/00/00。我不明白为什么。

输入来自 3 个文本框。比我连接它们并将其传递给查询。但是出了点问题。这是代码:

Bday = Month2.Text & "/" & Dates2.Text & "/" & years.Text
Dim StrQwery As String = "INSERT INTO account VALUES(accoint_id, '" & Bday &"')"
Dim smd As MySqlCommand = New MySqlCommand(stquery, myconn)
smd.ExecuteReader()

当我将时间添加到同一个字符串并希望将其传递给 dateTime 属性时,也会发生同样的事情。谁能告诉我怎么了?

regTime = Month2.Text & "/" & Dates2.Text & "/" & years.Text & CStr(TimeValue(CStr(Now)))
Dim StrQwery As String = "INSERT INTO account VALUES(accoint_id, '" & regTime &"')"
Dim smd As MySqlCommand = New MySqlCommand(stquery, myconn)
smd.ExecuteReader()

【问题讨论】:

标签: asp.net mysql


【解决方案1】:

MySQL 的日期字符串格式为yyyy-mm-hhyyyy-mm-dd hh:mm:ss 用于日期时间。如果您插入其他任何内容,例如 xxxx/xx/xx,MySQl 甚至不会尝试猜测它的格式,而只需插入 0000-00-00 来表示无效日期。

这不是你可以改变的。将日期转换为 MySQL 的标准格式,否则后果自负。

【讨论】:

  • 我已经尝试了几个版本,包括 yyyy-mm-dd。仍然插入零
  • 转储您正在生成的查询字符串,并查看您实际使用的内容。例如sql = "INSERT INTO...." 然后打印出该变量。
  • 但它会有什么不同呢?
  • 如果我没有先连接 3 个字符串,如何打印变量?
  • 这叫做基本调试。学习如何做到这一点,否则你的编码将永远无法实现。
猜你喜欢
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
相关资源
最近更新 更多