首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

在往数据库插入记录时,捕捉主键冲突的except,该怎么解决

2012-04-03 
在往数据库插入记录时,捕捉主键冲突的exceptoracle主键错误号为:ORA-00001希望能填写这里except   ///////

在往数据库插入记录时,捕捉主键冲突的except
oracle主键错误号为:ORA-00001
希望能填写这里
    except
   ////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////
          ////////////////////////////////////////////////////////////////
            delphi   要在这里捕捉主键冲突的错误?????????????????????????????
            result:=false;


//插入部门记录
function   InsertDepartMent(Const   DepartM   :   TDepartMent)   :   Boolean;
var
    //ADODep   :   TADOQuery;
    sql   :   String;
begin
    result   :=   False;
      DM.adoCn.Connected   :=   True;
    //ADODep   :=   TADOQuery.Create(nil);

    DM.qrySql1.Connection   :=   DM.adoCn;
sql   :=   'Insert   into   Department(DEPT_ID,DEPT_NAME,DIR_LD1,DIR_LD1_PHONE, '+
                'DIR_LD2,DIR_LD2_PHONE,DEP_LD1,DEP_LD1_PHONE,DEP_LD2,DEP_LD2_PHONE, '+
                'DEP_LD3,DEP_LD3_PHONE)   values( '+DepartM.Dept_ID+ ', ' ' '+
                DepartM.Dept_Name+ ' ' ', ' ' '+DepartM.DirLeader1   + ' ' ', ' ' '+
                DepartM.DirLeader1_Mobile   + ' ' ', ' ' '+DepartM.DirLeader2+ ' ' ', ' ' '+
                DepartM.DirLeader2_Mobile+ ' ' ', ' ' '+DepartM.DeptLeader1   + ' ' ', ' ' '+
                DepartM.DeptLeader1_Mobile   + ' ' ', ' ' '+DepartM.DeptLeader2+ ' ' ', ' ' '+
                DepartM.DeptLeader2_Mobile+ ' ' ', ' ' '+DepartM.DeptLeader3+ ' ' ', ' ' '+
                DepartM.DeptLeader3_Mobile+ ' ' ') ';
    //application.messagebox(sql, 'DAMN   IT ');
    //exit;
    try
            DM.qrySql1.Close;
            DM.qrySql1.SQL.clear;
            DM.qrySql1.SQL.Add(sql);
            DM.qrySql1.ExecSQL;
            result:=true;
    except
   ////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////
          ////////////////////////////////////////////////////////////////
            delphi   要在这里捕捉主键冲突的错误?????????????????????????????
            result:=false;

    end;
    DM.qrySql1.close;
    DM.adoCn.Connected   :=   False;
end;


[解决办法]
try
DM.qrySql1.Close;
DM.qrySql1.SQL.clear;
DM.qrySql1.SQL.Add(sql);


DM.qrySql1.ExecSQL;
result:=true;
except
On E:Exception do
begin
ShowMessage(E.message);
result:=false;
end;

end;
[解决办法]
不是有错误代码吗,在OnPostErr里写吧,根据返回的错误代码。
[解决办法]
在except内写
ShowMessage( '主键冲突 ');

热点排行