VB.NET MSACCESS OLEDB异常INSERT INTO语句中未处理的语法错误。但我的说法是正确的
我在运行程序时遇到此错误 INSERT INTO语句中的OLEDB异常未处理语法错误 但我看不出错误 这是我的代码:VB.NET MSACCESS OLEDB异常INSERT INTO语句中未处理的语法错误。但我的说法是正确的,vb.net,ms-access,Vb.net,Ms Access,我在运行程序时遇到此错误 INSERT INTO语句中的OLEDB异常未处理语法错误 但我看不出错误 这是我的代码: Dim pictureData As Byte() Using ms As New MemoryStream PICPictureBox.Image.Save(ms, Imaging.ImageFormat.Jpeg) pictureData = ms.ToArray() End Using strsql1 = "inser
Dim pictureData As Byte()
Using ms As New MemoryStream
PICPictureBox.Image.Save(ms, Imaging.ImageFormat.Jpeg)
pictureData = ms.ToArray()
End Using
strsql1 = "insert into criminallist (CC#, FIRSTNAME, MIDDLENAME, LASTNAME, QUALIFIERS, ALIAS, GENDER, LASTKNOWNADDRESS, CRIMINALACTIVITY, CRIMINALINVOLVEMENT, AREAOFOPERATION, ISSUINGCOURT, REMARKS, DATEOFJAIL, TRACKERTEAM, PIC)values(@a0,@a1,@a2,@a3,@a4,@a5,@a6,@a7,@a8,@a9,@a10,@a11,@a12,@a13,@a14,@a15)"
acscmd1.CommandText = strsql1
acscmd1.Connection = acsconn1
acscmd1.Parameters.AddWithValue("@a0", CC_TextBox.Text)
acscmd1.Parameters.AddWithValue("@a1", FIRSTNAMETextBox.Text)
acscmd1.Parameters.AddWithValue("@a2", MIDDLENAMETextBox.Text)
acscmd1.Parameters.AddWithValue("@a3", LASTNAMETextBox.Text)
acscmd1.Parameters.AddWithValue("@a4", QUALIFIERSComboBox.SelectedItem)
acscmd1.Parameters.AddWithValue("@a5", ALIASTextBox.Text)
acscmd1.Parameters.AddWithValue("@a6", GENDERComboBox.SelectedItem)
acscmd1.Parameters.AddWithValue("@a7", LAST_KNOWN_ADDRESSTextBox.Text)
acscmd1.Parameters.AddWithValue("@a8", CRIMINAL_ACTIVITYTextBox.Text)
acscmd1.Parameters.AddWithValue("@a9", CRIMINAL_INVOLVEMENTTextBox.Text)
acscmd1.Parameters.AddWithValue("@a10", AREA_OF_OPERATIONTextBox.Text)
acscmd1.Parameters.AddWithValue("@a11", ISSUING_COURTTextBox.Text)
acscmd1.Parameters.AddWithValue("@a12", REMARKSTextBox.Text)
acscmd1.Parameters.AddWithValue("@a13", DateTimePicker1.Value.Date)
acscmd1.Parameters.AddWithValue("@a14", TRACKER_TEAMTextBox.Text)
acscmd1.Parameters.AddWithValue("@a15", pictureData)
acscmd1.ExecuteNonQuery()
acscmd1.Dispose()
MessageBox.Show("ADDED")
很明显,您的声明是不正确的,否则您将无法收到错误消息。问题在于第一列的名称。在SQL代码中,列名中不能有空格或其他特殊字符,除非对其进行转义。对于使用括号的访问,即
插入犯罪名单([CC#],名字
更好的选择是在列名或任何其他标识符中不使用空格、特殊字符或保留字。显然,您的语句不正确,或者您将无法获得该错误消息。问题在于第一列的名称。在SQL代码中,如果t逃避它。这是使用括号访问完成的,即
插入犯罪名单([CC#],名字
更好的选择是在列名或任何其他标识符中不使用空格、特殊字符或保留字。我想知道它们是否会在将
别名作为字段名时遇到相同的错误。@HansUp,当然值得考虑,但“别名”不是。括号和关键字“值”之间没有空格也是一个问题吗?我对Access不够熟悉,不知道这是否重要。@ChrisDunaway,不,除了关键字和/或标识符之间,不需要空格。第二组括号中没有空格不再是一个问题。我指的是to列列表和关键字“值”的右括号。换句话说,关键字值
前后是否需要空格?也就是说,这个值(
需要是)值(
?我想知道他们是否会在使用别名作为字段名时遇到相同的错误。@HansUp,当然值得考虑,但“别名”不是。括号和关键字“值”之间没有空格也是一个问题吗?我对Access不够熟悉,不知道这是否重要。@ChrisDunaway,不,除了关键字和/或标识符之间,不需要空格。第二组括号中没有空格不再是一个问题。我指的是to列列表和关键字“值”的右括号。换句话说,关键字值
前后是否需要空格?也就是说,这个值(
需要是)值(
?