首先,我已经搜索了互联网以找到解决方案,但似乎没有什么是完全正确的。
我有一个显示数据库信息的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的新手
答案 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