【发布时间】:2023-04-08 05:32:01
【问题描述】:
我正在使用以下方法将日期值设置为变量:
Dim someDate As DateTime = Date.Today.AddDays(1)
nextMonday = someDate
While nextMonday.DayOfWeek <> DayOfWeek.Monday
nextMonday = nextMonday.AddDays(1)
End While
然后我使用以下命令将日期插入到 SQL Server 表中:
Private Sub CButton1_ClickButtonArea(Sender As Object, e As MouseEventArgs) Handles CButton1.ClickButtonArea
Dim doenditstring As String = "INSERT INTO Parsversoeke (ma_datum,di_datum) " & _
"VALUES (" & _
"'" & nextMonday & "'," & _
"'" & nextTuesday & "')"
cnn.Open()
Dim aksie As New SqlClient.SqlCommand(doenditstring, cnn)
aksie.ExecuteNonQuery()
cnn.Close()
它有效,但我只能在两个日期内完成。之后我收到以下错误:
从字符串转换日期和/或时间时转换失败
有人知道我为什么会收到错误消息吗?
【问题讨论】:
-
我对 vb.net 了解不多(我认得),但是在执行它们之前,您可以将它们打印到控制台(或以某种方式记录它们吗?)。您的日期最好采用
YYYY-MM-DD或YYYYMMDD格式(ISO 8601 方式)。 -
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入。并且作为副作用,当尝试以字符串文字形式插入日期时,这也解决了那些令人讨厌的格式问题(多一个或少一个单引号等)....
标签: sql-server vb.net