我有此代码:
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]
我该如何解决?
答案 0 :(得分:-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