使用“自动生成”字段向数据表添加行

时间:2013-03-07 19:02:48

标签: vb.net datagridview datatable

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

我有一个显示数据库信息的DataGrid。我正在尝试将记录添加到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的新手

1 个答案:

答案 0 :(得分: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