怎样将ADOQuery进行数据库操作时报错信息换成自己的,或者彻底消除? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在posterror事件中写:procedure TFinishInputStockForm.BodyQueryPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);var adoErrors : Errors; adoError : Error; iCount : Integer; ErrorList : TStringList; TipStr : String;begin ErrorList := TStringList.Create; {开始处理ADO的 ERROR 对象} adoErrors := DataModule1.ADOConnection1.Errors; for iCount := 0 to adoErrors.Count -1 do begin adoError := adoErrors.Item[iCount]; ErrorList.Add('错误号:' + InttoStr(adoError.Number)); ErrorList.Add('错误源:' + adoError.Source); ErrorList.Add('错误描述:' + adoError.Description); end; TipStr := ErrorList.Text; ErrorList.Free; Raise Exception.Create(TipStr);end; try except on E:Exception do Showmessage(E.Message+你的信息); end; 用tryadoquery1.append;adoquery1.fieldbyname('field').asstring:=trim(edit1.text);adoquery1.post;except showmessage('出错');end;至于错误代号,你可以这样捕获。tryadoconnection1.beginstran; //adoconnection1,是一个组件,用于连接数据源,把adoquery1的connection指向adoconnection1.adoquery1.append;adoquery1.fieldbyname('field').asstring:=trim(edit1.text);adoquery1.post;adoconnection1.CommitTrans;exceptadoconnection1.RollbackTrans;if adoconnection1.error.item[0]=2601 Then //2601主键重复.有多个错误就用个循环一个一个解决. showmessage('主键出错');end; 那怎么去掉所有的出错信息呢?就是不跳出出错提示好像在激发出错事件(如PostError)之前,就跳出了出错提示,这怎么去掉? 小数 如何使用CASE之类的语句 ShellExecute 无法打开网址后面跟参数的网页 关于线程和一小问题. 调研,让事实说话:超过35岁的程序员,你现在干什么? RzCheckTree中的CheckBox选择事是什么? 指定客户端端口号 为什么我ADO连接accsee数据库:但就是不显示数据,只显示网格 这个错误信息怎么解决?高手帮帮忙,想好久都搞不懂! 请教:一个有关记录游标的问题。 如何在image中显示超过256色的bmp图 怎么将字符串中的部分字符替换掉? 有没有谁在delphi中用spcomm控件进行串口通讯?
E: EDatabaseError; var Action: TDataAction);
var
adoErrors : Errors;
adoError : Error;
iCount : Integer;
ErrorList : TStringList;
TipStr : String;
begin
ErrorList := TStringList.Create;
{开始处理ADO的 ERROR 对象}
adoErrors := DataModule1.ADOConnection1.Errors; for iCount := 0 to adoErrors.Count -1 do
begin
adoError := adoErrors.Item[iCount];
ErrorList.Add('错误号:' + InttoStr(adoError.Number));
ErrorList.Add('错误源:' + adoError.Source);
ErrorList.Add('错误描述:' + adoError.Description);
end;
TipStr := ErrorList.Text;
ErrorList.Free;
Raise Exception.Create(TipStr);
end;
except
on E:Exception do
Showmessage(E.Message+你的信息);
end;
try
adoquery1.append;
adoquery1.fieldbyname('field').asstring:=trim(edit1.text);
adoquery1.post;
except
showmessage('出错');
end;至于错误代号,你可以这样捕获。
try
adoconnection1.beginstran; //adoconnection1,是一个组件,用于连接数据源,把adoquery1的connection指向adoconnection1.
adoquery1.append;
adoquery1.fieldbyname('field').asstring:=trim(edit1.text);
adoquery1.post;
adoconnection1.CommitTrans;
except
adoconnection1.RollbackTrans;
if adoconnection1.error.item[0]=2601 Then //2601主键重复.有多个错误就用个循环一个一个解决.
showmessage('主键出错');
end;