sqldataadapter更新主鍵的問題
將我的問題簡化一下:如,我的表中有A,B,C....等列,A為一個主鍵,B+C為另一個主鍵,A為自動增長,我現在用sqldataadapter進行數據更新,在datagridview中編輯,如之前數據為:
A B C ....
1 1 訂單A ....
2 2 訂單A ....
3 1 訂單B ....
...
要改成
A B C ....
1 2 訂單A ....
2 1 訂單A ....
3 1 訂單B ....
...
即對調一下B列的值,結果update時就報錯了,原因我知道,是因為updatecommand是逐行更新到數據庫的,當更新第一行時,會因為與數據庫中的第二行有衝突而報錯
不知如解解決,請高手指教下?
我已知的方法(因為是改數據庫,不想用)
1、在數據庫中去掉B+C的主鍵
2、逐條保存(太煩) --------------------编程问答-------------------- 咋滴?沒人知道哈? --------------------编程问答-------------------- 在線等啊,牛人在哪裡? --------------------编程问答-------------------- 烦,没什么烦的,主要看你对这个问题有没有兴趣?
我觉得你的方法也可以啊?have a try --------------------编程问答-------------------- A為一個主鍵,B+C為另一個主鍵
晕,你表里有两个主键?
--------------------编程问答-------------------- 一个表中只能有一个主键
你说A为这个表的主键,B+C就应该是另一个表的主键,应该是这个表的外键
那你更新这个表,只能说是A不能重复,不可能说B不能重复
你是做了表之间的关系?? --------------------编程问答-------------------- 只能有一个主键! --------------------编程问答-------------------- 为什么只能有一个主键? --------------------编程问答-------------------- 終於有人回覆了,高興ing......
對,我的後面給出的方法是可以解決問題,萬一真沒其他解決方法,我會用的!
現在尋求更好的解決方法!
表是在sql server裡做的主鍵,A是真正意義的主鍵,B+C是Unique Key或具有primary性質的index,所以同樣B+C也是不能重複的
哪位高手再來關注一下?! --------------------编程问答-------------------- 是挺煩的,記錄有上百條的,如果用戶要插入一條記錄,如將B本來是4的改成5,5->6,6-7.....幾十條,上百條的更改,要讓用戶一條條修改一條條保存,那這個用戶界面就太差了,我的這個datagridview要提供接近excel的自由編輯度(當然某些主鍵什麼的還是有限制的)
請高手指教 sqldataadapter如何能做到這點?
补充:.NET技术 , C#