Vb.net 如何解决';INSERT INTO语句';中的语法错误;?

Vb.net 如何解决';INSERT INTO语句';中的语法错误;?,vb.net,ms-access,vba,Vb.net,Ms Access,Vba,因此,我创建了一个数据库,并希望在VB中将表单中的信息插入数据库。我已经链接并编码了它,但是我一直收到这样的错误消息:INSERT INTO语句中的语法错误。我已经研究了许多其他类似的问题,但是没有一个解决方案有效。这是我的密码: Imports System.Data.OleDb Class Form1 Dim Provider As String Dim DataFile As String Dim ConnString As String Dim MyConnection As OleDb

因此,我创建了一个数据库,并希望在VB中将表单中的信息插入数据库。我已经链接并编码了它,但是我一直收到这样的错误消息:INSERT INTO语句中的语法错误。我已经研究了许多其他类似的问题,但是没有一个解决方案有效。这是我的密码:

Imports System.Data.OleDb
Class Form1
Dim Provider As String
Dim DataFile As String
Dim ConnString As String
Dim MyConnection As OleDbConnection = New OleDbConnection
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
    Provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "
    DataFile = "C:\Users\Documents\Visual Studio 2012\Projects\DatabaseTest\DatabaseTest\Database.accdb"
    ConnString = Provider & DataFile
    MyConnection.ConnectionString = ConnString
    MyConnection.Open()
    Dim Strng As String
    Strng = "INSERT INTO [Table1]([StudentName], [StudentScore] Values (?,?))"
    Dim Cmmnd As OleDbCommand = New OleDbCommand(Strng, MyConnection)
    Cmmnd.Parameters.Add(New OleDbParameter("StudentName", CType(txtName.Text, String)))
    Cmmnd.Parameters.Add(New OleDbParameter("StudentScore", CType(txtScore.Text, String)))
    Try
        Cmmnd.ExecuteNonQuery()
        Cmmnd.Dispose()
        MyConnection.Close()
        txtName.Clear()
        txtScore.Clear()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
End Class

任何帮助都将不胜感激

将支架端到错误的位置。您也不需要将Text属性转换为参数中的字符串

Imports System.Data.OleDb
Class Form1
  Dim Provider As String
  Dim DataFile As String
  Dim ConnString As String
  Dim MyConnection As OleDbConnection = New OleDbConnection
   Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
      Provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "
      DataFile = "C:\Users\Documents\Visual Studio 2012\Projects\DatabaseTest\DatabaseTest\Database.accdb"
      ConnString = Provider & DataFile
      MyConnection.ConnectionString = ConnString
      MyConnection.Open()
      Dim Strng As String
      Strng = "INSERT INTO [Table1]([StudentName], [StudentScore]) Values (?,?)"
      Dim Cmmnd As OleDbCommand = New OleDbCommand(Strng, MyConnection)
      Cmmnd.Parameters.Add(New OleDbParameter("StudentName", txtName.Text))
      Cmmnd.Parameters.Add(New OleDbParameter("StudentScore", txtScore.Text))
     Try
       Cmmnd.ExecuteNonQuery()
       Cmmnd.Dispose()
       MyConnection.Close()
       txtName.Clear()
       txtScore.Clear()
     Catch ex As Exception
       MsgBox(ex.Message)
     End Try
  End Sub
End Class

在错误的位置结束支架。您也不需要将Text属性转换为参数中的字符串

Imports System.Data.OleDb
Class Form1
  Dim Provider As String
  Dim DataFile As String
  Dim ConnString As String
  Dim MyConnection As OleDbConnection = New OleDbConnection
   Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
      Provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "
      DataFile = "C:\Users\Documents\Visual Studio 2012\Projects\DatabaseTest\DatabaseTest\Database.accdb"
      ConnString = Provider & DataFile
      MyConnection.ConnectionString = ConnString
      MyConnection.Open()
      Dim Strng As String
      Strng = "INSERT INTO [Table1]([StudentName], [StudentScore]) Values (?,?)"
      Dim Cmmnd As OleDbCommand = New OleDbCommand(Strng, MyConnection)
      Cmmnd.Parameters.Add(New OleDbParameter("StudentName", txtName.Text))
      Cmmnd.Parameters.Add(New OleDbParameter("StudentScore", txtScore.Text))
     Try
       Cmmnd.ExecuteNonQuery()
       Cmmnd.Dispose()
       MyConnection.Close()
       txtName.Clear()
       txtScore.Clear()
     Catch ex As Exception
       MsgBox(ex.Message)
     End Try
  End Sub
End Class

“插入[Table1]([StudentName],[StudentScore])值(?,)”
-端括号位置错误。很抱歉,我不熟悉编码:/What是端括号?
您看到我的示例了吗?非常感谢!!现在开始工作了<代码>“插入[Table1]([StudentName],[StudentScore])值(?,)”-端括号位置错误。很抱歉,我不熟悉编码:/What是端括号?
您看到我的示例了吗?非常感谢!!现在开始工作了!!