Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.NET MSACCESS OLEDB异常INSERT INTO语句中未处理的语法错误。但我的说法是正确的_Vb.net_Ms Access - Fatal编程技术网

VB.NET MSACCESS OLEDB异常INSERT INTO语句中未处理的语法错误。但我的说法是正确的

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

我在运行程序时遇到此错误

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 = "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列列表和关键字“值”的右括号。换句话说,关键字
前后是否需要空格?也就是说,这个
值(
需要是
)值(