CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

在绑定的控件中对数据库中值进行修改时碰到的一个问题。

楼主myhex(小乙)2003-12-02 18:29:42 在 .NET技术 / C# 提问

比如,在用户名的字段里,是绝对不能存在重复值的。  
   
  但如果我绑定在datagrid或者TextBox里面进行修改时,难免操作者不会输入相同的值,怎么捕捉到这个错误呢?请大家帮忙解答一下。  
   
  我试过用UniqueConstraint加入到dataset中,它也确实工作了,但是它是以弹出一个对话框的形式出现的,这样的对话框不知道算不算异常,我也不知道该catch哪一个异常,反正这样显得很不舒服的。谁有更干净更优雅的方法吗?    
   
  多谢! 问题点数:0、回复次数:9Top

1 楼rock1981(呵呵呵)回复于 2003-12-02 18:38:02 得分 0

不知道可不可行  
  在TextChanged的时候进行效验Top

2 楼zhpsam109(JACKY.昊昊)回复于 2003-12-02 18:56:11 得分 0

保存到数据库的时候验证该姓名是否存在   select   *   from   tbale   where   name='youname'  
  用这个填充dataset,如果dataset.rows.count>0则重复!Top

3 楼o1o(两蛋一枪)回复于 2003-12-02 19:16:29 得分 0

楼上的做法可能不太好,因为不好处理部分相同的值:  
  例如:如果想输入用户meimei007将会在输入一半时符合值meimei、meimei0、meime等。  
  改进办法:在Leave时校验。  
  Top

4 楼myhex(小乙)回复于 2003-12-03 10:06:04 得分 0

TO   rock1981()   ,o1o(莊囸鐵):  
  我现在的问题是如何用一种简当有效的方法校验?  
   
  TO   zhpsam109(小昊子):  
  我觉得你的方法不可取,因为数据己经被载入下来了,没必要再去数据源进行查找.  
  还不如直接对datatable进行遍历,但这样似乎也不好看.  
   
   
  实质上向dataset里添加UniqueConstraint时,.net在你输入重复值时己经报告错误了,只不过报告的方式不是throw异常,而是跳出一个莫名其妙的对话框提示在确认时发生错误:  
  标题:Error   when   committing   the   row   to   the   original   data   store.  
  内容:   Column   '列名'   is   constrained   to   be   unique.   Value   '己存在的值'   is   already   present.   Do   you   want   to   correct   the   value.  
   
  我觉得都有些遗憾,用得很不舒服。我猜想.net应该对此作了设计的,可我不知道具体怎么弄.  
   
  Top

5 楼myhex(小乙)回复于 2003-12-03 12:03:34 得分 0

帮忙!推者有分啊!!Top

6 楼lee_cl(豆腐·BombEr)回复于 2003-12-03 12:17:49 得分 0

如果是大型网站的话,用户比较多,还是用zhpsam109(小昊子)的方法,因为不能确定数据的完整性和准确性,如果一般的网站的话,你可以在DataSet里面查。我下边试试。Top

7 楼myhex(小乙)回复于 2003-12-03 12:30:35 得分 0

有没有一个稍具建设性点的回答啊?  
  Top

8 楼lee_cl(豆腐·BombEr)回复于 2003-12-03 12:38:19 得分 0

用select   into最快,数据量小的话,可以忽略了,select和select   into差不多。  
  输入用户名后直接到数据库验证,我觉得这个就是最简洁的方法了。我不是很理解你的意思,sorry。Top

9 楼myhex(小乙)回复于 2003-12-04 10:26:17 得分 0

疯了,我要疯了Top

相关问题

  • 如何用dategrid控件去修改数据库中的内容
  • 做一个ado的dll控件访问修改数据库,用asp做网页调用dll操作数据库
  • 急!!可编辑修改的msflexgrid控件怎样初始化写入数据库??
  • 如何把DATAGRID控件中的修改数据保存进数据库中?
  • 用adodc控件和txt控件编制数据库修改程序出现问题,急急急!!!
  • 用adodc控件和txt控件编制数据库修改程序出现问题
  • 数据库编辑控件
  • 数据库控件问题
  • 我用query控件访问数据库,为什么不能用APPEND 或者INSERT方法对数据库进行修改啊
  • 如何修改TDBGRidEh控件,让它在没有与数据库关联的情况下当作TSTRingGRid输入呢

关键词

  • .net
  • 数据库
  • 数据
  • 用户
  • meimei
  • 对话框
  • 输入
  • 异常
  • 值
  • 方法

得分解答快速导航

  • 帖主:myhex

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo