当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,