读书人

数据库主键冲突错误处理请高手给看

发布时间: 2013-06-25 23:45:41 作者: rapoo

数据库主键冲突,异常处理,请高手给看看(新手菜鸟问题)
数据库里面就3个字段,workid,name,age 其中workid为主键,主键不是自动排序的,是用户手动输入的
程序界面里用3个edit控件分别输入,然后保存入库(就是插入哈),如果用户输入的workid与数据库中已有的数据相同,会报错主键冲突。代码如下


各位高手们,这怎么回事哈...新手困惑ing
大神们如果有以上主键冲突现成的代码,麻烦提供下,新手观摩学习下,先谢了,望解惑... 异常处理 数据库 主键
[解决办法]
既然用ADOQuery,可以在OnPostError 事件里处理
[解决办法]
你是用ADOQuery执行SQL语句,就可以捕获错误,类似:
...
try
ExecSQL;
except
showmessage(edit1.text + '已存在!请重新输入!');
edit1.SetFocus;
end;

------解决方案--------------------


这种情况我一般是这样处理的,ID在后台自动生成,前台设个编号随用户折腾
[解决办法]
或者 在输入主键之后 查询下 数据库
[解决办法]
主键一般来说最常用的应用只是标识,如果你这个ID没有什么实在意义的话,可以设置为自动标识
而如果做为主键,这个主键的数据库是有可能或经常出现重复,那这个字段就不该用来做主键……
因为,你单独加个字段为主键,再用程序判断ID是否重复是可行的解决办法!
[解决办法]
这个主键 叫客户操作的话最好不要做主键 非要用的话搞的话 先查一下 或修理在异常 提示下 平时我是这样处理的。。。

读书人网 >.NET

热点推荐