请问两个问题:
1、主键重复时,可以在OnPostError中try…except,但只有在其可执行文件中正确处理,在DELPHI中运行时却中断后继续运行才行,怎样才能不中断继续执行啊?
2、在DELPHI中如何检测SQL中的表有相同记录,如字段name有两个记录值为张三,代码怎样写啊。请帮手,TKS!

解决方案 »

  1.   

    1、try语句的权限好像没有delphi自带的调试程序的大;^_^;
       try语句只能是在编译出去的exe中才能生效;否则会被delphi拦截的;2、with adoquery1 do
       begin
        close;
        sql.clear;
        sql.text :='select name from tablename where name = ''张三''';
        open;
        if recordcount = 0 then     //找到的记录数为零说明还没有这个人;
        begin
             //执行插入操作;
        end;
       end;
      

  2.   

    第一个问题:
    菜单->Tools->Debugger options->language Exceptions页
    把下面的Stop on Delphi exceptions不选择,在调试时就不会停了。
    如果你只想在一个地方越过,其他的异常仍然想停下来,在上面加入你想忽略的异常的名称
      

  3.   

    2.执行两条sql语句
    'select name from tablename where name = ''张三'''
    'select distinct name from tablename where name = ''张三'''
    看看结果数量是否相同!
      

  4.   

    1.你编译后,在去执行.exe文件(默认是那个带电的图标:))2。用47522341(睡到8:30) 的,或者,在那个不能重复的字段设为主键,然后
    try
    插入记录
    except
    begin
    showmessage('已存在!')
    exit;
    end
    end;