0

首先,我已经搜索了互联网以找到解决方案,但似乎没有什么是完全正确的。

我有一个显示数据库信息的 DataGrid。我正在尝试将记录添加到数据网格和数据库中。下面的代码是我到目前为止的“添加”按钮。

Dim TaxConnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ConfigurationManager.AppSettings("Database")
    Dim dbConnection As OleDbConnection = New OleDbConnection(TaxConnStr)
    Dim dt As New DataTable
    Dim ds As New DataSet

    Try

        dt.Rows.Add(New String() {
                                            boxAssignTo.Text, _
                                            boxState.Text, _
                                            boxCounty.Text, _
                                            boxAmount.Text, _
                                            boxType.Text, _
                                            boxRank.Text})


    Catch ex As Exception
    Finally
        dbConnection.Close()
    End Try

现在我遇到错误“输入数组长于此表中的列数。” 在此过程中显示。我推测这是因为在数据库的表中我有一个自动生成的 ID 字段,我没有添加到该字段中。但我对如何添加它一无所知。

不知道这是否重要,但是当我显示 DataGrid 时,我有

DataGridView1.Columns.Remove("ID")

所以我没有实际看到 ID 字段(在这个 winForm 上有点毫无意义)。

温柔点,我对数据库和 VB 很陌生

4

1 回答 1

1

您收到此错误的原因是您没有添加任何列:

    Try
        dt.Columns.Add("a")
        dt.Columns.Add("b")
        dt.Columns.Add("c")
        dt.Columns.Add("d")
        dt.Columns.Add("e")
        dt.Columns.Add("f")

        dt.Rows.Add(New String() {"1","2","3","4","5","6"})


    Catch ex As Exception
    Finally

    End Try
于 2013-03-07T19:28:07.253 回答