怎么老问重复的问题。看下面:
try
   UserTable.Edit ;
   UserTable.Post ;
except
   on ex:exception do
      ShowMessage('....') ;
end ;

解决方案 »

  1.   

    老兄:你确认在TRY中触发异常了吗?
      

  2.   

    Except
    是要在异常发生时才处理的,如果你很确定Show...是要执行的,试试
     try
          UseTable.Edit;
          UseTable.Post;
      Finnaly
          showmessage('编号输入重复');
      end;
      

  3.   

    你确认是在
    UserTable.Edit;
    UserTable.Post;
    这两个语句之间你加了什么代码,贴出来看看吗
      

  4.   

    若真的是在try之间出错你用except也根本截取不到出错信息,你截取错误也得使用
    tryexcept
      on ex:exception do
        ShowMessage(ex.message) ;
    end ;
      

  5.   

    同意楼上,
    如果“编号”不是KEY字段,每次添加的时候即使有重复也会照样写进去而不会提示有错,表格自身有一个默认的KEY
      

  6.   

    adoconnection1.BeginTrans;
    try
    begin
      edit
      ...  //这儿的代码要耐心写,不要用执行更新查询草草了事
      post   adoconnection1.CommitTrans
    except
      adoconnection1.RollbackTrans
      showmessage('.......')
    end;