【求助】vb.net從dataset塞值到db



贊助商連結


ballwarm
2005-02-25, 12:48 AM
Dim strCmd As String
Dim sqlCN As SqlConnection
Dim sqlCM As SqlCommand
Dim sqlDA As SqlDataAdapter
Dim sqlDS As DataSet
Dim SqlCB As SqlCommandBuilder = New SqlCommandBuilder(sqlDA)
sqlCN = New SqlConnection
sqlCM = New SqlCommand(strCmd, sqlCN)
sqlDA = New SqlDataAdapter
sqlDA.TableMappings.Add("testtable", "test")
sqlDS = New DataSet
sqlCN.ConnectionString = "Server=localhost;Database=test;UID=sa;PWD=test"
sqlCN.Open()
strCmd = "SELECT test FROM testtable"
sqlCM = New SqlCommand(strCmd, sqlCN)
sqlDA.SelectCommand = sqlCM
sqlDS = New DataSet("test")
sqlDA.Fill(sqlDS, "test")
sqlDS.Tables(0).Rows(0).Item(0) = "test2"
sqlDA.Update(sqlDS, "test")
sqlCN.Close()

上面是我的測試程式,我想把db的資料到到dataset後,在dataset針對好多筆做運算,運算update回db,可是發生了錯誤訊息如下。請問用這樣子SqlDataAdapter搭配SqlCommandBuilder 不是可以自己產生update的指令,就可以輕易的update回資料庫。請高手幫忙,謝謝。

再請教我是修改多筆資料,可以不用迴圈,一個update指令就update dataset已修改的資料嗎??


類型 'System.InvalidOperationException' 的未處理例外狀況發生於 system.data.dll

其他資訊: 當傳遞擁有已修改資料列的 DataRow 集合時,更新需要有效的 UpdateCommand。

贊助商連結


yrl
2005-02-28, 12:02 PM
:D 好麻煩的寫法,建議用sqldataadapter自動產生必要語法後,參考看電腦是怎麼寫的,因為要回答要說一大堆,打字慢,太累了