delphi捕获oracle异常
oralce数据库有一字段DEPTNAME我设置了惟一约束。在delphi程序中当我在字段中输入与DEPTNAME内容相同时,就会弹出‘部门名称重复,请重新输入’的警告,...
oralce数据库有一字段DEPTNAME我设置了惟一约束。在delphi程序中当我在字段中输入与DEPTNAME内容相同时,就会弹出‘部门名称重复,请重新输入’的警告,但却弹出如图警告。我想问如何利用delphi捕获该约束警告,delphi中我捕获错误这样的:
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Text:='insert into user_group(DEPTNAME) values(:DEPTNAME)';
Parameters.ParamByName('DEPTNAME').Value:=Trim(edt10.Text);
try
ExecSQL;
except
on E:EOleException do
begin
ShowMessage(E.Message);
Exit;
end;
end;
lbl14.Caption:='部门添加成功';
end;
我这样做还是弹出如下错误警告,大家帮我看下,哪里错了,在此谢过各位,测试成功必会加分。
我希望大家帮我看下代码中哪些地方修改下即可捕获异常。 展开
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Text:='insert into user_group(DEPTNAME) values(:DEPTNAME)';
Parameters.ParamByName('DEPTNAME').Value:=Trim(edt10.Text);
try
ExecSQL;
except
on E:EOleException do
begin
ShowMessage(E.Message);
Exit;
end;
end;
lbl14.Caption:='部门添加成功';
end;
我这样做还是弹出如下错误警告,大家帮我看下,哪里错了,在此谢过各位,测试成功必会加分。
我希望大家帮我看下代码中哪些地方修改下即可捕获异常。 展开
展开全部
这是IDE调试环境下的系统提示. 你直接执行编译后的Exe文件试试
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Text:='insert into user_group(DEPTNAME) values(:DEPTNAME)';
Parameters.ParamByName('DEPTNAME').Value:=Trim(edt10.Text);
try
ExecSQL;
except
ShowMessage('部门名称重复,请重新输入!');
Exit;
end;
lbl14.Caption:='部门添加成功';
end;
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Text:='insert into user_group(DEPTNAME) values(:DEPTNAME)';
Parameters.ParamByName('DEPTNAME').Value:=Trim(edt10.Text);
try
ExecSQL;
except
ShowMessage('部门名称重复,请重新输入!');
Exit;
end;
lbl14.Caption:='部门添加成功';
end;
展开全部
你这样处理,在IDE中会弹出这个窗口,在实际运行的时候则是直接弹出对话框,显示的消息是:"ORA-0001......."那一句
如果你想捕获后做处理,比如翻译成易读的提示,则最好是加个TApplicationEvents,在其OnException中即可处理错误消息(整个应用程序的错误都会被捕获)
如果你想捕获后做处理,比如翻译成易读的提示,则最好是加个TApplicationEvents,在其OnException中即可处理错误消息(整个应用程序的错误都会被捕获)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译状态还是会出现错误提示的,你执行编译好的EXE文件就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个主要问题是要查到这个异常的类型和错误号,很显然不是EOleException
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询