Vb.net 向具有自动生成字段的数据表中添加行

Vb.net 向具有自动生成字段的数据表中添加行,vb.net,datagridview,datatable,Vb.net,Datagridview,Datatable,首先,我已经搜索了互联网以找到解决方案,但似乎没有什么是完全正确的 我有一个DataGrid,它显示来自数据库的信息。我正在尝试向datagrid和数据库添加记录。下面的代码是迄今为止我对“添加”按钮的代码 Dim TaxConnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ConfigurationManager.AppSettings("Database") Dim dbConnectio

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

我有一个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字段,我没有添加到其中。但我不知道如何把这个加进去

不知道这是否重要,但当我显示数据网格时

DataGridView1.Columns.Remove("ID")
所以我看不到ID字段(在这个winForm上有点毫无意义)


请温和一点,我对数据库和VB非常陌生。出现此错误的原因是您没有添加任何列:

    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

现在这是有道理的。我假设这不会自动更新我的dataGrid,所以我应该在“finally”之后输入函数以获取dataGrid信息。对吗?如果数据网格没有预定义的列(即在表单视图中),则可以使用此选项。如果已经创建了网格,而您只是在向其添加值,则需要以另一种方式进行。这是ASP.net还是windows窗体?windows窗体。datagrid正在从数据库表中读取列信息。我只是在尝试更新datagrid和DB表。一旦创建了一个数据表并用数据行填充它,就可以将它绑定到数据网格,如下所示:Me.DataGridView1.DataSource=dtOk到目前为止,所有这些都起到了作用。dataGrid正在使用我尝试添加的新标准进行更新。但是,它并没有更新到数据库中……而且,每当我点击“添加”(按钮,所有代码都是针对该按钮的)时,datagrid并没有更新……它只是被新信息覆盖。我怎样才能只添加到datagrid而不完全重新做呢