Mar*_*ham 1 mysql sql vb.net visual-studio
我不知道如何格式化VB中的时间戳,因此它以这种格式插入到MYSQL数据库中:
YYYY-MM-DD 00:00:00
Run Code Online (Sandbox Code Playgroud)
我试过了:
Dim timestamp As Date = TimeValue(Now)
Run Code Online (Sandbox Code Playgroud)
它将其格式化为0001-01-01 12:33:38- 如果yyyy-mm-dd实际上是正确的日期,这将是正确的.
你错过了这一点.
SQL数据库中的实时时间戳永远不会格式化YYYY-MM-DD 00:00:00.这就是它们在查询或数据窗口中的显示方式.这些值实际上以二进制格式存储,通常不是人类可读的,尽管mysql可能仍然使用unix时间.
关键是你甚至不需要知道实际格式是什么.这应该由您的数据库连接提供程序处理,而不是自己格式化.从VB.Net正确地为mysql插入/更新数据库时间戳应该如下所示:
Dim sql As String = "UPDATE `Table` Set MyColumn= @DateValue WHERE ID= @ID"
Using cn As New MySqlConnection("Your connection string here"), _
cmd As New MySqlCommand(sql, cn)
cmd.Parameters.Add("@DateValue", MySqlDbType.Datetime).Value = Now
cmd.Parameters.Add("@ID", MySqlDbType.Int32).Value = 12345
cn.Open()
cmd.ExecuteNonQuery()
End Using
Run Code Online (Sandbox Code Playgroud)
无需格式化.您也可以这样编写查询:
Dim sql As String = "UPDATE `Table` Set MyColumn= current_timestamp WHERE ID= @ID"
Run Code Online (Sandbox Code Playgroud)
但如果你真的坚持创建字符串,它将如下所示:
Now().ToString("yyyy-MM-dd HH:mm:ss")
Run Code Online (Sandbox Code Playgroud)
使用此处提供的格式字符串说明:http:
//msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
| 归档时间: |
|
| 查看次数: |
5065 次 |
| 最近记录: |