【问题标题】:Getting error on inserting date into sql database?将日期插入 sql 数据库时出错?
【发布时间】:2017-06-16 20:30:24
【问题描述】:

我正在将记录插入数据库,但参数“日期”出现错误。任何想法都会很好。

myConnection.Open()
Dim sqlQry As String = "INSERT INTO MasterLabNumber (LabNumber, Location, Date)" + "VALUES(@LabNumber, @Location, @Date)"
Dim str As String
str = "SELECT * FROM MasterLabNumber WHERE (LabNumber = " & TextBox1.Text & ")"
Dim d As System.DateTime = DateTime.Now.ToString("yyyy/MM/dd")
Dim cmd As OleDbCommand = New OleDbCommand(sqlQry, myConnection)
cmd.Parameters.AddWithValue("@LabNumber", TextBox1.Text)
cmd.Parameters.AddWithValue("@Location", ComboBox1.Text)
cmd.Parameters.AddWithValue("@Date", d)

cmd.ExecuteNonQuery() <-- gets error here relating to adding the parameter date.

【问题讨论】:

  • 试试Dim d As String = DateTime.Now.ToString("yyyy/MM/dd")
  • 您插入的不是日期而是字符串

标签: sql database vb.net oledb


【解决方案1】:

是的,这是因为Date 是您在插入语句中使用的保留字。您需要使用[]

将其转义,如下所示
INSERT INTO MasterLabNumber (LabNumber, Location, [Date])

你的插入语句应该变成

Dim sqlQry As String = "INSERT INTO MasterLabNumber (LabNumber, Location, [Date]) VALUES(@LabNumber, @Location, @Date)"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 2014-09-20
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    相关资源
    最近更新 更多