まず、私はすでにインターウェブを精査して解決策を見つけましたが、まったく正しいものはないようです.
データベースからの情報を表示する 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 に非常に慣れていません。