我用adoQUERY ,提交SQL语句
有些错误是需要SQL Server返回的,如主键\外健约束,not null约束、数据类型不合法等
如何分类截获信息,并返回自己的信息。

解决方案 »

  1.   

    你是用adoquery连接数据源的?改用adoconnection,连接上数据源,把adoquery连接到adoconnection这样就可以得到错误代码了。
    try
    adoconnection.Beginstran;
    adoquery1.append;
    ...
    adoquery1.post;
    adoconnection.commit;
    except
    showmessage(inttostr(adoconnection.Errors[0].NativeError));//显示错误代号;
    你可以根据这个错误代码显示相应的错误提 示。用
    case adoconnection.Errors[0].NativeError of
    2627:showmessage('关键字重复');
    end;
    adoconnection.rollback; //
      

  2.   

    1.同意:My_first(海浪) 
    2.不如改数据库吧 SQL SERVER 中sysmessages表
      

  3.   

    没用的adoconnection.Errors只能捕获一部分信息
    try
      adoQUERY.execute
    except
      on e;exception do
      begin
        if pos(s, e.Message)>0 then
           showmessage(' 逐渐‘);
       if pos(s, e.Message)>0 then
           showmessage(' not null‘);  end;
    end;
    s:是一些常见的错误 辅助一下