/*****更新到数据库中数据约束的问题******/

西客小贝壳 2005-01-09 11:40:30
我用DataAdapter.Update() Insert到数据库后,如果主键有记录相同的,就会报错.请问该怎么解决这个问题?


SqlCommandBuilder cb=new SqlCommandBuilder(DataAdapter);
并且我是用SqlCommandBuilder生成
Insert语句的
SqlCommandBuilder cb=new SqlCommandBuilder(DataAdapter);



if(ds.HasChanges()){
DataSet dsChanges=ds.GetChanges();
ad.Update(dsChanges,"c1");

}



表结构:
CustomerID //主键
CompanyName
ContactName
Address

...全文
118 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
aijing 2005-01-14
  • 打赏
  • 举报
回复
//如果主键有记录相同的
按你的意思该字段不必设为主健;
去掉设置即可
smallMage 2005-01-14
  • 打赏
  • 举报
回复
第一先判断是否有当前的CustomerID 在表里是否存在。如果存在就提示……
西客小贝壳 2005-01-14
  • 打赏
  • 举报
回复
up?
西客小贝壳 2005-01-11
  • 打赏
  • 举报
回复
SqlCommandBuilder cb=new SqlCommandBuilder(DataAdapter);
SqlCommandBuilder生成的东西不会自动检测?如果数据库的表中有相同的记录,就调用UpDateCommand语句,若没有就自动调用InsertCommand语句?
西客小贝壳 2005-01-10
  • 打赏
  • 举报
回复
具体的代码怎么写?
nga96 2005-01-10
  • 打赏
  • 举报
回复
对,要不主键用GUID也行的
flcandclf 2005-01-10
  • 打赏
  • 举报
回复
除非你在数据库中不要用主键,否则你代码写的再好都是错的,不行你到数据库中添加试试,
西客小贝壳 2005-01-10
  • 打赏
  • 举报
回复
没人会呀
DimVar 2005-01-09
  • 打赏
  • 举报
回复
先检查主键是否存在再更新;或者try...catch...
ET2004 2005-01-09
  • 打赏
  • 举报
回复
-.- 主键都有相同的记录,你的表的设计有问题吧

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧