【问题标题】:Inserting now() from vb6 into mysql将 now() 从 vb6 插入 mysql
【发布时间】:2013-10-06 21:26:18
【问题描述】:

对不起我的英语。

当我将 now() 从 vb6 插入 mysql(它是一个日期时间类型)时,只显示零(0000-00-00 00:00:00 像这样)。如何让它们正常显示?

当我将日期时间类型更改为文本时,它正常显示,但我无法使用它。

这是我插入的方法

oSql = "INSERT INTO rendeles(ID_Vevo,Datum,VCime,ID_Alkalmazott) VALUES (" & _
cmbVasarlo.ItemData(cmbVasarlo.ListIndex) & ", '" & Now() & "', '" & _ 
oRs1!Cim & "', " & logged_user_id & ")"

Set oRs = oConn.Execute(oSql)

【问题讨论】:

  • MYSql 是否需要日期为YYYY-MM-DD? Now() 不会返回那个。
  • 是的,但我也需要时间来存储。我可以将其存储为包含时间的文本,但以后不能将其作为日期放入组合框中。我希望这是有道理的:(。
  • 您仍然需要将 NOW() 的输出格式化为 mysql 所需的格式 - 'YYYY-MM-DD HH:MM:SS' 用于日期和时间。那不是 Now() 返回的。见dev.mysql.com/doc/refman/5.1/en/datetime.html

标签: mysql database datetime vb6


【解决方案1】:

你需要这样的东西(我的 VB6 真的生疏了)

Dim sqlDate As String
sqlDate = Format$(Now, "yyyy-mm-dd hh:mm:ss")

...
cmbVasarlo.ItemData(cmbVasarlo.ListIndex) & ", '" & sqlDate  & "', '" & _ 
oRs1!Cim & "', " & logged_user_id & ")"

【讨论】:

  • 谢谢!这就是我需要的。顺便说一句,Now() 返回 yyyy/mm/dd 现在返回 yyyy-mm-dd,这是我没有注意到的问题。
【解决方案2】:

将 VB6 的 NOW() 函数格式化为 MYSQL 使用的格式

Format$(Now(), "yyyy-mm-dd hh:mm:ss")

用MYSQL的Now()函数代替VB6的

oSql = "INSERT INTO rendeles(ID_Vevo,Datum,VCime,ID_Alkalmazott) VALUES (" & _
cmbVasarlo.ItemData(cmbVasarlo.ListIndex) & ", now(), '" & _ 
oRs1!Cim & "', " & logged_user_id & ")"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 2015-07-17
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2012-07-18
    相关资源
    最近更新 更多