私が持っているこのテーブルは、主キーなしで作成されています。キーなしで作成されたのには理由があります。商品と顧客の関係表のようなものです。そのため、を使用SqlDataAdapter
しDataSet
て入力する標準的な手順の後、変更の更新中にエラーが発生しました。DataTable
DataGrid
DataGrid' but they all work fine due to the fact the table have primary keys. I tried adding a composite key but it didn't work. So below is my code for the
DataSet` と他のフォームで機能する更新コードを 使用して、いくつかのフォームに取り組んできました。
更新コード:
cmdbuilder = New SqlCommandBuilder(adapter)
If primaryDS IsNot Nothing Then
primaryDS.GetChanges()
'update changes
adapter.Update(primaryDS)
MsgBox("Changes Done")
'refresh the grid
CMDrefresh()
End If
そして、DataTable
これが 5 つの複合キーを追加しようとしたためのコーディングです。では、この問題をどのように更新しますか?
Try
myconnection = New SqlConnection(strConnection)
myconnection.Open()
adapter = New SqlDataAdapter(StrQuery, myconnection)
adoPrimaryRS = New DataSet
adapter.Fill(primaryDS)
Dim mainTable As DataTable = primaryDS.Tables(0)
DataGrid.AutoGenerateColumns = False
mainTable.PrimaryKey = New DataColumn() {mainTable.Columns(0), _
mainTable.Columns(1), _
mainTable.Columns(2), _
mainTable.Columns(3), _
mainTable.Columns(4)}
bndSrc.DataSource = mainTable
DataGrid.DataSource = bndSrc
gDB.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try