今天用OleDbDataAdapter對象Update一個DataSet對象時出現錯誤提示為“違反並發性: UpdateCommand 影響了預期1條記錄中的0條”的問題,經過谷歌搜索,發現有好幾個原因可能造成這個問題。我說說我的實際情況,我是利用OleDbDataAdapter對象可以更新DataSet從而達到批量更新數據的目的,我的數據表(我的是Access)有一個主鍵(ID)是自動遞增的數字列,當我在DataSet的表中新增一行時,新增行ID列默認新值是0,這個值在更新DataSet的時候就出現了上面問題,我的解決思路是,在DataSet的表對應ID的列增加可以自動遞增的屬性:
ds_panel.Tables[0].Columns[0].AutoIncrement = true;//表明第一列也就是對應表中的ID列是自動遞增的
ds_panel.Tables[0].Columns[0].AutoIncrementStep = 1;//遞增的增量為1
這樣我的問題就解決了。希望對碰到類似問題的朋友有些幫助。