0

我知道你们会觉得这很简单,但是谁能告诉我为什么尽管遵循了许多网站上的每一条指令,我还是会遇到语法错误?

我的完整代码是:

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
    dbSource = "Data Source = F:\Brett\Programming Projects\Roster\Roster.mdb"

    con.ConnectionString = dbProvider & dbSource
    con.Open()
    ' This is grabbing all the records from the listing table in the Roster Database
    sql = "Select * FROM Listing"
    ' Or selected columns
    'sql = "SELECT Listing.FName, Listing.LName FROM Listing"
    da = New OleDb.OleDbDataAdapter(sql, con)

    ' Populate the dataset with the data adaptor. This can be any name
    da.Fill(ds, "Roster")
    con.Close()

    MaxRows = ds.Tables("Roster").Rows.Count
    inc = -1

End Sub

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    Dim cb As New OleDb.OleDbCommandBuilder(da)
    Dim iRow As Integer = Me.Label1.Text
    Dim junk As Integer

    ds.Tables("Roster").Rows(iRow).Item(5) = Me.TextBox3.Text
    ds.Tables("Roster").Rows(iRow).Item(6) = Me.TextBox4.Text
    ds.Tables("Roster").Rows(iRow).Item(8) = Me.TextBox5.Text

    da.Update(ds, "Roster")

    'da.Update(ds)

End Sub

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
    Dim newtbl As DataTable
    Dim cb As New OleDb.OleDbCommandBuilder(da)
    Dim cmd As New OleDb.OleDbCommand

    newtbl = ds.Tables("Roster")

    Dim drCurrent As DataRow
    drCurrent = newtbl.NewRow()

    drCurrent(1) = "sfd"
    drCurrent(2) = "werter"

    newtbl.Rows.Add(drCurrent)

    da.Update(ds, "Roster")

End Sub

无论我做什么,我都会收到此错误消息。任何帮助将不胜感激,因为现在已经两天了......

我会告诉你我的错误,但像往常一样,一些花生不会让我没有一些废话。它指出 OleDbException 未处理,Insert Into 语句中的语法错误。

4

1 回答 1

0

您可以尝试将数据库调用包装在 try-catch 块中并检查返回异常的 InnerXml 吗?

这可能会为您提供有关您遇到的错误的更多信息。

于 2013-12-11T05:51:41.970 回答