Imports System.Data.OleDb 公共类测试 私人访问为新DBControl 'Dim accon As OleDbConnection = Access.Connection() Private accon As New OleDbConnection(Provider = Microsoft.ACE.OLEDB.12.0;& _ 数据源= SPSS.accdb;) 私有子Button1_Click(发件人为对象,e为EventArgs)处理Button1.Click ' Dim accon As OleDbConnection = Access.Connection() accon.Open() Dim accmd As New OleDbCommand(INSERT INTO [empTable]([empCode],[batch] ],[empMasterCode],[empName],[empFatherNam e],[empMotherName],[empVillage],[empParish],[empDeanery],[empDiocese],[empDOBirth],[empDOBaptism],[empQualification],[empBloodGroup],[empContact],[empBasicSalary],[empBrothers] ,[empSisters],[empAddress],[empDOJoining],[empPOJoining],[empPresentlyStationed],[empStatus],[empDOLeaving],[empDOSuspension],[empDODismissal],[empDORejoining],[empRemarks],[empPhoto]值( @ empCode,@ bad,@ empMasterCode,@ empName,@ empFatherName,@ empMotherName,@ empVillage,@ empParish,@ empDeanery,@ empDiocese,@ empDOBirth,@ empDOBaptism,@ empQualification,@ empBloodGroup,@ empContact,@ empBasicSalary,@ empBrothers ,@ empSisters,@ empAddress,@ empDOJoining,@ empPOJoining,@ empPresentlyStationed,@ empStatus,@ empDOLeaving,@ empDOSuspension,@ empDODismissal,@ empDORejoining,@ empRemarks,@ empPhoto),accon){。CommandType = CommandType.Text} accmd.Parameters.Add(新OleDbParameter(@ empCode,CType(txt1.Text,String))) accmd.Parameters.Add(New O leDbParameter(@ batch,CType(txt2.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empMasterCode,CType(txt3.Text,String))) accmd.Parameters.Add(新OleDbParameter(@ empName,CType(txt4.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empFatherName,CType(txt5.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empMotherName,CType(txt6.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empVillage,CType(c1.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empParish,CType (c2.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empDiocese,CType(txt7.Text,String))) 如果不是IsDate(d1.Text)则 accmd.Parameters.Add(新OleDbParameter(@ empDOBirth,DBNull.Value)) Else accmd.Parameters.Add(新的OleDbParameter(@ empDOBirth,d1.Value)) 结束如果 如果不是IsDate(d2.Text)那么 accmd.Parameters.Add(New OleDbParameter(@ empDOBaptism,DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter(@ empDOBaptism) ,d2.Value)) 结束如果 accmd.Parameters.Add(新的OleDbParameter(@ empQualification,CType(txt9。 Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empBloodGroup,CType(txt10.Text,String))) accmd.Parameters。添加(新OleDbParameter(@ empContact,CType(txt11.Text,String))) accmd.Parameters.Add(新OleDbParameter(@ empBasicSalary,CType(txt12.Text,String) )) accmd.Parameters.Add(新OleDbParameter(@ empBrothers,CType(txt13.Text,String))) accmd.Parameters.Add(New OleDbParameter (@ empSisters,CType(txt14.Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empAddress,CType(txt15.Text,String))) 如果不是IsDate(d3.Text)那么 accmd.Parameters.Add(新OleDbParameter(@ empDOJoining,DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter(@ empDOJoining,d3.Value)) 结束如果 accmd.Parameters.Add(New OleDbParameter(@ empPOJoining) ,CType(txt16.Text,String))) accmd.Parameters.Add(新的OleDbParameter(@ empPresentlyStationed,CType(txt17.Text,String))) accmd.Parameters.Add(新OleDbParameter(@ empStatus,CheckBox1.Checked = True)) 如果不是IsDate(d4.Text)那么 accmd.Parameters.Add(New OleDbParameter(@ empDOLeaving,DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter (@ empDOLeaving,d4.Value)) 结束如果 如果不是IsDate(d5.Text)那么 accmd.Parameters.Add(新的OleDbParameter(@ empDOSuspension,DBNull。价值)) Else accmd.Parameters.Add(新OleDbParameter(@ empDOSuspension,d5.Value)) 结束如果 如果不是IsDate(d6.Text)那么 accmd.Parameters.Add(新的OleDbParameter(@ empDODismissal,DBNull.Value) ) Else accmd.Parameters.Add(新OleDbParameter(@ empDODismissal,d6.Value)) 结束如果 如果不是IsDate(d7.Text)那么 accmd.Parameters.Add(新OleDbParameter(@ empDORejoining,DBNull.Value)) Else accmd.Parameters.Add(新OleDbParameter(@ empDORejoining,d7.Value)) 结束如果 accmd.Parameters.Add(新的OleDbParameter(@ empRemarks,CType(txt17。 Text,String))) accmd.Parameters.Add(New OleDbParameter(@ empPhoto,ConvertMyImage(PictureBox1.Image))) 试试 accmd.ExecuteNonQuery() accmd.Dispose() accon.Close() MessageBox.Show(已添加) Catch ex As Exception MessageBox.Show(ex.Message) 结束尝试 End Sub 私人功能ConvertMyImage(ByVal myImage As Image)As Byte() Dim mstream As New MemoryStream() myImage.Save(mstream,System.Drawing.Imaging.ImageFormat.Jpeg) Dim mbytes (mstream.Length - 1)As Byte mstream.Position = 0 mstream.Read(mbytes,0,mstream.Length) 返回mbytes 结束函数 结束类解决方案 你错过了一个小括号: INSERT INTO [empTable]([empCode],[batch],[empMasterCode],[empName],[empFatherName],[empMotherName],[empVillage],[empParish],[empDeanery],[ empDiocese],[empDOBirth],[empDOBaptism],[empQualification],[empBloodGroup],[empContact],[empBasicSalary],[empBrothers],[empSisters],[empAddress],[empDOJoining],[empPOJoining],[empPresentlyStationed] ,[empStatus],[empDOLeaving],[empDOSuspension],[empDODismissal],[empDORejoining],[empRemarks],[empPhoto] 值( @ empCode , @ batch , @ empMasterCode , @ empName , @ empFatherName , @ empMotherName , @ empVillage , @ empParish , @ empDeanery , @ empDiocese , @ empDOBirth , @ empDOBaptism , @ empQualification , @ empBloodGroup , @ empContact , @ empBasicSalary , @ empBrothers , @ empSisters , @ empAddress , @ empDOJoining , @ empPOJoining , @ empPresentlyStationed , @ empStatus , @ empDOLeaving , @ empDOSuspension , @ empDODismissal , @ empDORejoining , @ empRemarks , @ empPhoto )如果我删除内容,则更明显: INSERT INTO [empTable]([empCode],... [empRemarks],[empPhoto] 值( @ empCode ,... @ empRemarks , @ empPhoto )你需要用')'关闭列的列表: Dim accmd As 新 OleDbCommand( INSERT INTO [empTable]([empCode],[batch],[empMasterCode],[empName],[empFatherName],[empMotherName],[empVillage],[empParish ],[empDeanery],[empDiocese],[empDOBirt h],[empDOBaptism],[empQualification],[empBloodGroup],[empContact],[empBasicSalary],[empBrothers],[empSisters],[empAddress],[empDOJoining],[empPOJoining],[empPresentlyStationed],[empStatus] ,[empDOLeaving],[empDOSuspension],[empDODismissal],[empDORejoining],[empRemarks],[empPhoto])值(@ empCode,@ release,@ empMasterCode,@ empName,@ empFatherName,@ empMotherName,@ empVillage,@ empParish ,@ empDeanery,@ empDiocese,@ empDOBirth,@ empDOBaptism,@ empQualification,@ empBloodGroup,@ empContact,@ empBasicSalary,@ empBrothers,@ empSisters,@ empAddress,@ empDOJoining,@ empPOJoining,@ empPresentlyStationed,@ empStatus,@ empDOLeaving,@ empDOSuspension,@ empDODismissal,@ empDORejoining,@ empRemarks,@ empPhoto),accon) I am developing vb.net application with ms-access.. I am trying to add record but getting this error " Syntax error in INSERT INTO statement. this is my code... please help to resolve....What I have tried:Imports System.IOImports System.Data.OleDbPublic Class test Private Access As New DBControl 'Dim accon As OleDbConnection = Access.Connection() Private accon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=SPSS.accdb;") Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Dim accon As OleDbConnection = Access.Connection() accon.Open() Dim accmd As New OleDbCommand("INSERT INTO [empTable] ([empCode], [batch], [empMasterCode], [empName], [empFatherName], [empMotherName], [empVillage], [empParish], [empDeanery], [empDiocese], [empDOBirth], [empDOBaptism], [empQualification], [empBloodGroup], [empContact], [empBasicSalary], [empBrothers], [empSisters], [empAddress], [empDOJoining], [empPOJoining], [empPresentlyStationed], [empStatus], [empDOLeaving], [empDOSuspension], [empDODismissal], [empDORejoining], [empRemarks], [empPhoto] values(@empCode, @batch, @empMasterCode, @empName, @empFatherName, @empMotherName, @empVillage, @empParish, @empDeanery, @empDiocese, @empDOBirth, @empDOBaptism, @empQualification, @empBloodGroup, @empContact, @empBasicSalary, @empBrothers, @empSisters, @empAddress, @empDOJoining, @empPOJoining, @empPresentlyStationed, @empStatus, @empDOLeaving, @empDOSuspension, @empDODismissal, @empDORejoining, @empRemarks, @empPhoto)", accon) With {.CommandType = CommandType.Text} accmd.Parameters.Add(New OleDbParameter("@empCode", CType(txt1.Text, String))) accmd.Parameters.Add(New OleDbParameter("@batch", CType(txt2.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empMasterCode", CType(txt3.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empName", CType(txt4.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empFatherName", CType(txt5.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empMotherName", CType(txt6.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empVillage", CType(c1.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empParish", CType(c2.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empDiocese", CType(txt7.Text, String))) If Not IsDate(d1.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDOBirth", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDOBirth", d1.Value)) End If If Not IsDate(d2.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDOBaptism", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDOBaptism", d2.Value)) End If accmd.Parameters.Add(New OleDbParameter("@empQualification", CType(txt9.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empBloodGroup", CType(txt10.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empContact", CType(txt11.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empBasicSalary", CType(txt12.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empBrothers", CType(txt13.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empSisters", CType(txt14.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empAddress", CType(txt15.Text, String))) If Not IsDate(d3.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDOJoining", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDOJoining", d3.Value)) End If accmd.Parameters.Add(New OleDbParameter("@empPOJoining", CType(txt16.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empPresentlyStationed", CType(txt17.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empStatus", CheckBox1.Checked = True)) If Not IsDate(d4.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDOLeaving", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDOLeaving", d4.Value)) End If If Not IsDate(d5.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDOSuspension", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDOSuspension", d5.Value)) End If If Not IsDate(d6.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDODismissal", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDODismissal", d6.Value)) End If If Not IsDate(d7.Text) Then accmd.Parameters.Add(New OleDbParameter("@empDORejoining", DBNull.Value)) Else accmd.Parameters.Add(New OleDbParameter("@empDORejoining", d7.Value)) End If accmd.Parameters.Add(New OleDbParameter("@empRemarks", CType(txt17.Text, String))) accmd.Parameters.Add(New OleDbParameter("@empPhoto", ConvertMyImage(PictureBox1.Image))) Try accmd.ExecuteNonQuery() accmd.Dispose() accon.Close() MessageBox.Show("added") Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Function ConvertMyImage(ByVal myImage As Image) As Byte() Dim mstream As New MemoryStream() myImage.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg) Dim mbytes(mstream.Length - 1) As Byte mstream.Position = 0 mstream.Read(mbytes, 0, mstream.Length) Return mbytes End FunctionEnd Class 解决方案 You're missing a close bracket:INSERT INTO [empTable] ([empCode], [batch], [empMasterCode], [empName], [empFatherName], [empMotherName], [empVillage], [empParish], [empDeanery], [empDiocese], [empDOBirth], [empDOBaptism], [empQualification], [empBloodGroup], [empContact], [empBasicSalary], [empBrothers], [empSisters], [empAddress], [empDOJoining], [empPOJoining], [empPresentlyStationed], [empStatus], [empDOLeaving], [empDOSuspension], [empDODismissal], [empDORejoining], [empRemarks], [empPhoto] values(@empCode, @batch, @empMasterCode, @empName, @empFatherName, @empMotherName, @empVillage, @empParish, @empDeanery, @empDiocese, @empDOBirth, @empDOBaptism, @empQualification, @empBloodGroup, @empContact, @empBasicSalary, @empBrothers, @empSisters, @empAddress, @empDOJoining, @empPOJoining, @empPresentlyStationed, @empStatus, @empDOLeaving, @empDOSuspension, @empDODismissal, @empDORejoining, @empRemarks, @empPhoto)If I rip out the content, it's more obvious:INSERT INTO [empTable] ([empCode], ... [empRemarks], [empPhoto] values(@empCode, ... @empRemarks, @empPhoto)Yo u need to close the list of columns with a ')':Dim accmd As New OleDbCommand("INSERT INTO [empTable] ([empCode], [batch], [empMasterCode], [empName], [empFatherName], [empMotherName], [empVillage], [empParish], [empDeanery], [empDiocese], [empDOBirth], [empDOBaptism], [empQualification], [empBloodGroup], [empContact], [empBasicSalary], [empBrothers], [empSisters], [empAddress], [empDOJoining], [empPOJoining], [empPresentlyStationed], [empStatus], [empDOLeaving], [empDOSuspension], [empDODismissal], [empDORejoining], [empRemarks], [empPhoto]) values(@empCode, @batch, @empMasterCode, @empName, @empFatherName, @empMotherName, @empVillage, @empParish, @empDeanery, @empDiocese, @empDOBirth, @empDOBaptism, @empQualification, @empBloodGroup, @empContact, @empBasicSalary, @empBrothers, @empSisters, @empAddress, @empDOJoining, @empPOJoining, @empPresentlyStationed, @empStatus, @empDOLeaving, @empDOSuspension, @empDODismissal, @empDORejoining, @empRemarks, @empPhoto)", accon) 这篇关于语法错误INSERT into语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-01 03:37