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

SqlCommandBuilder更新数据库的问题

C# 用SqlCommandBuilder更新数据库,但它是自动生成sql语句,现在我想让更新、插入时不能让添加的名字重复,怎么修改?
当添加、修改的时候就是想让TriggerName 字段的名字不重复,如果使用SqlCommandBuilder更新数据库,应该怎么做
--------------------编程问答-------------------- 这个不应该用update、Insert的sql语句来实现,更新之前应该对DataTable进行数据验证,检查TriggerName是否重复,如果重复则不更新和添加,返回让用户修改到不重复为止, --------------------编程问答--------------------
引用 1 楼 stonespace 的回复:
这个不应该用update、Insert的sql语句来实现,更新之前应该对DataTable进行数据验证,检查TriggerName是否重复,如果重复则不更新和添加,返回让用户修改到不重复为止,
那个循环应该怎么验证? --------------------编程问答-------------------- 循环列举所有的DataRow,对每个DataRow用select count(*) where TriggerName=xxx and ID<>yyy 查询是否已经存在, --------------------编程问答--------------------
引用 3 楼 stonespace 的回复:
循环列举所有的DataRow,对每个DataRow用select count(*) where TriggerName=xxx and ID<>yyy 查询是否已经存在,

  foreach (DataRow dr in m_dtTrigger.Rows)
            { 
              string ssql="select count(*) from m_dtTrigger where TriggerName="+dr["TriggerName"];
              
            }
我还没更新数据库。我只想查我datagridview绑定的表m_dtTrigger是否重复,然后再更新数据库,这样的话,应该怎么查表啊,sql语句不得用到链接数据库什么什么的。。。。???? --------------------编程问答-------------------- 比较简单的方法是,设置主键,主键设置在TriggerName 列上即可。 --------------------编程问答--------------------
引用 5 楼 qldsrx 的回复:
比较简单的方法是,设置主键,主键设置在TriggerName 列上即可。

主键有,是自增的(不能改动数据库) --------------------编程问答-------------------- 数据库中可以增加唯一索引,你程序中的DataTable可以将主键改在TriggerName列上,又不会影响真实库的主键。 --------------------编程问答--------------------
引用 7 楼 qldsrx 的回复:
数据库中可以增加唯一索引,你程序中的DataTable可以将主键改在TriggerName列上,又不会影响真实库的主键。

设好主键,然后接下来怎么判断? --------------------编程问答-------------------- 无需判断,遇到重复的他录入就录不进去,直接在录入时就会报错的,然后保存数据库会自动验证索引重复项,唯一索引一旦遇到重复,就保存不进数据库(可能DataTable未加载全部数据库中的数据,无法在DataTable完成全部验证),如果不报错,把不重复的保存进去,那就只能手动修改保存代码了。 --------------------编程问答--------------------
引用 9 楼 qldsrx 的回复:
无需判断,遇到重复的他录入就录不进去,直接在录入时就会报错的,然后保存数据库会自动验证索引重复项,唯一索引一旦遇到重复,就保存不进数据库(可能DataTable未加载全部数据库中的数据,无法在DataTable完成全部验证),如果不报错,把不重复的保存进去,那就只能手动修改保存代码了。

您能帮我看看我这个是怎么回事吗?5555555
http://topic.csdn.net/u/20110809/17/94403f90-5fff-4458-8f23-4d8b7df717cc.html --------------------编程问答-------------------- 如果你按照我说的方法设置主键,你保存的时候所加的判断都不需要,直接去掉就不会有那错误了。关于错误原因那个帖子里给你分析。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,