下面
以ORACLE为例,SQL 2K的换成相应的错误代码就可以了!
Database1.Open;
Database1.StartTransaction;
try 
  ......................(此处写更新语句)
  Database1.Commit;
except
          On E: EDBEngineError do
             begin
             Database1.Rollback;
             for i := 0 to E.ErrorCount - 1 do
                 begin
                  case E.Errors[i].ErrorCode of
                  $2601:
                  begin
                  ShowMessage('呵呵!我不允许鍵值重覆!');
                  end;
                  $0021:
                  begin
                  Showmessage('太糟糕了,系统发生故障!TMD');
                  end;
                  $270b:
                  begin
                  Showmessage('对不起,你不能破坏引用完整性!怎么样,很失望吧!');
                  end;
                  $2b05:
                  begin
                  Showmessage('太糟糕了,网络连接超时判负!TMD');
                  end;
                  $0028:
                  begin
                  Showmessage('琐定违例!');
                  end;
                  $1200:
                  begin
                  Showmessage('不能识别的SQL错误!呵呵,有事干了!');
                  end;
                  $2501:
                  begin
                  Showmessage('太糟糕了,你的内存不足!请使用N(N>=10000)兆内存');
                  end;
                  $2728:
                  begin
                  Showmessage('你所操作的表不存在!');
                  end;
                  $2801:
                  begin
                  Showmessage('记录已经被其它用户琐定!');<---------------
                  end;
                  $2a06:
                  begin
                  Showmessage('数据引擎初始化错误!');
                  end;
                  $2c01:
                  begin
                  Showmessage('网络初始化失败!');
                  end;
                  $2c07:
                  begin
                  Showmessage('呜呜..呜呜!一个我不知道的网络错误,这不可能!');
                  end;
                  $2c0d:
                  begin
                  Showmessage('是谁干的!!服务器竟然没打开!');
                  end;
                  $3e07:
                  begin
                  Showmessage('初始化失败!');
                  end;
                  $3303:
                  begin
                  //ShowMessage('服务器端错误:一般的SQL错误!');
                  end;
                 else
                  raise EDatabaseError.Create(E.Message);
                 end;//case
                 end;//for
             end;//on EDBError
        on E:EFileNameError do
           begin
           Database1.Rollback;
           end;
     end; 上面是我找的一段出错代码。 SQL7 OR SQL 2K的换成相应的错误代码是什么。谁能提供一下, 立即放分

解决方案 »

  1.   

    上面这段代码是bde环境下用的。怎样改为ado下用。 我想把错误处理放到一个函或一个过程里处理
      

  2.   

    post一次只能提交一条记录,而ApplyUpdates一次可成批提交记录,这是他们最大的区别
      

  3.   

    哇!机器也有喜怒哀乐了哦!!!:D:D:D
      

  4.   

    哇,帮我们整理错误数据啊,接接接;
    你为什么不用ApplicatoinEvents?
    那样的通用性更高些;
    如果用ADO的话,错误对应可能就不是这样的//没有碰过:(
    再者,两者的事务也不一样的;