【发布时间】:2016-07-28 15:49:27
【问题描述】:
System.Data.dll 中出现“System.Data.OleDb.OleDbException”类型的未处理异常
附加信息:查询表达式“7/27/2016 6:20:48 PM”中的语法错误(缺少运算符)。
每次单击程序上的保存按钮时都会收到此消息。
代码如下:
Public Sub savetoDB()
Dim mydate As DateTime
mydate = Me.dtpDateDel.Value
con.Open()
Dim sqlQry As String = "INSERT INTO [tbl_Monitoring] ([Truck Plate No], [Driver], [Helper], [Date of Delivery], [Product], [Payment], [Customer]) VALUES (@p1, @p2, @p3, " & mydate & ", @p5, @p6, @p7)"
Using cmd As New OleDbCommand(sqlQry, con)
cmd.Parameters.AddWithValue("@p1", cbxTruck.Text)
cmd.Parameters.AddWithValue("@p2", cbxDriver.Text)
cmd.Parameters.AddWithValue("@p3", cbxHelper.Text)
cmd.Parameters.AddWithValue("@p5", cbxProduct.Text)
cmd.Parameters.AddWithValue("@p6", txtPayment.Text)
cmd.Parameters.AddWithValue("@p7", txtCustomer.Text)
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Save Successfully!")
End Using
End Sub
错误被抛出到 cmd.ExecuteNonQuery()
【问题讨论】:
-
不要将“mydate”作为纯文本传递。像使用其他值一样使用参数。
-
我查看了您的个人资料,您似乎没有在发布的任何问题中将任何答案标记为正确。应该这样做,以便将它们从“未回答的问题”列表中删除并为每个人节省一些时间:)
-
对不起先生,我是stackoverflow的新手。