【问题标题】:Adding rows to a datatable with Auto Generated field使用自动生成字段将行添加到数据表
【发布时间】:2013-03-07 19:02:48
【问题描述】:

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

我有一个显示数据库信息的 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 很陌生

【问题讨论】:

    标签: vb.net datagridview datatable


    【解决方案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
    

    【讨论】:

    • 现在说得通了。我假设这不会自动更新我的dataGrid,所以我应该在“finally”之后放入我的函数来获取datagrid信息。对吗?
    • 当您有一个没有预定义列的数据网格时(即在表单视图中),您将使用它。如果网格已经创建并且您只是向其添加值,则需要以另一种方式进行。这是 ASP.net 还是 windows 窗体?
    • Windows 窗体。数据网格正在从数据库表中读取列信息。我只是想更新数据网格和数据库表。
    • 创建数据表并用数据行填充后,可以将其绑定到数据网格,如下所示:Me.DataGridView1.DataSource = dt
    • 好的,到目前为止所有这些都有效。 dataGrid 正在使用我尝试添加的新标准进行更新。但是,它不会更新到数据库...此外,每当我单击“添加”(所有此代码的按钮)时,数据网格都不会更新...它只是被新信息覆盖。我怎样才能只添加到数据网格而不是完全重新做呢
    猜你喜欢
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    相关资源
    最近更新 更多