var
str:string;
id:integer;
str:='数据';
adoqueryclose;
adoquerysqltext:='select from table where 字段1='''+str+'''';
adoqueryopen;
if adoqueryRecordCount>0 then //相同数据已存在
begin
adoqueryclose;
adoquerysqltext:='update table set where 字段1='''+str+'''';
adoqueryExecSQL;
end
else
begin
adoqueryclose;
adoquerysqltext:='insert into table ';
adoqueryExecSQL;
end;
大致如此 没有经过编译
你可以
try{
}catch(exception
ex){
exprintstacktrace();
}
捕获异常之后,会在控制台打印你所捕获异常的信息。如果你只想捕获主键异常的话,可以把打印出来的主键异常名称来替换exception
其实效果是一样的。。。
执行插入前先执行一次查询
如: SELECT COUNT() FROM yourtable WHERE ID=要判断的主键
如果返回的值大于0,那就是冲突,否则可以插入
以上就是关于delphi如何处理主键重复异常全部的内容,包括:delphi如何处理主键重复异常、java 主键重复处理、java向数据库中插入重复编号(编号为主键)如何报错,求代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)