由于使用VB.NET的OleDbException,无法在数据库中保存新行

时间:2016-09-14 15:32:51

标签: database vb.net oledb oledbexception

正如标题所述,我遇到了问题,我找不到它的原因。

Imports System
Imports System.Data.OleDb

Public Class Register
    Dim con As New OleDbConnection
    Dim strProvider As String
    Dim strDataSource As String
    Dim tables As DataTableCollection
    Dim source1 As New BindingSource
    Dim strSQL As String
    Dim dt As New DataTable
    Dim ds As New DataSet
    Dim da As New OleDbDataAdapter

    Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
        Me.Close()
        SRS_Main_Menu.Show()
    End Sub

    Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
        strDataSource = "Data Source = C:\Users\WORK\Documents\vb.net db files\questionThreeDB1.mdb"
        strProvider = "PROVIDER= Microsoft.JET.OLEDB.4.0;"
        con.ConnectionString = strProvider & strDataSource
        tables = ds.Tables
        strSQL = "SELECT * FROM questionThreeTbl"
        da = New OleDbDataAdapter(strSQL, con)
        da.Fill(ds, "Students")
        Dim cb As New OleDbCommandBuilder(da)

        Dim dsNewRow As DataRow
        dsNewRow = ds.Tables("Students").NewRow()
        dsNewRow.Item(1) = txtId.Text()
        dsNewRow.Item(2) = txtName.Text()
        dsNewRow.Item(3) = txtSurname.Text()
        dsNewRow.Item(4) = txtCellNum.Text()
        dsNewRow.Item(5) = txtParCell.Text()
        dsNewRow.Item(6) = txtAddress.Text()

        ds.Tables("Students").Rows.Add(dsNewRow)
        da.Update(ds, "Students")

        MsgBox("New Student Record Saved")
        Me.Close()
        SRS_Main_Menu.Show()

    End Sub
End Class

基本上,当我选择提交按钮时,会弹出指向该行的错误:

da.Update(ds, "Students")

它声明我的INSERT INTO语句存在问题。 关于这里发生了什么的任何线索?

0 个答案:

没有答案