INSERT INTO语句中的语法错误,同时输入日期并保存为访问原因?

问题描述 投票:0回答:1

我有这个代码:

Public Sub insert_item(ByVal mydate As Date)
    Dim cmd As New OleDbCommand("insert into shop1 (date) values (@mydate)", con)
    cmd.Parameters.Add("@mydate'", OleDbType.Date).Value = mydate

当它运行时,我收到此错误:

![这是我的问题] [1]

我该如何解决?

vb.net ms-access oledb
1个回答
-1
投票

OleDB并不真正做命名参数。您使用?字符作为SQL字符串中的占位符。您还应该为每个查询创建一个新的连接对象,并且只在最短的时间内保持打开状态;通常这是通过Using关键字完成的:

Public Sub insert_item(ByVal mydate As Date)
    Using con As New OleDbConnection("connection string here"), _
          cmd As New OleDbCommand("insert into shop1 (date) values (?)", con)

        cmd.Parameters.Add("@mydate'", OleDbType.Date).Value = mydate
        con.Open()
        cmd.ExecuteNonQuery()
    End Using
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.