[转载红鱼儿]kbmmw 开发点滴:ErrorTable用法

TkbmMWClientQuery有一个ErrorTable属性,用于记录提交Query时返回的错误结果。当用户保存修改的业务数据,出错时,可以用ErrorTable定位出错的记录并提示错误信息。

下面是实现代码:

procedure TForm2.Button4Click(Sender: TObject);
var
  i:TkbmNativeInt;//必须声明为TkbmNativeInt,不然XE3编译出错.
begin

  if kbmMWClientQuery1.ErrorTable.RecordCount<=0 then Exit;//无提交错误返回
  kbmMWClientQuery1.CurIndex.SearchRecordID(kbmMWClientQuery1.ErrorTable.FieldByName('KBMMW_RECORDID').AsInteger,i);//快速定位出错记录
  if i<0 then raise Exception.Create('没有找到错误记录号.');
  kbmMWClientQuery1.RecNo:=i+1;//需要加1才是具体的出错记录
  ShowMessage(kbmMWClientQuery1.Fields[0].AsString+kbmMWClientQuery1.ErrorTable.FieldByName('KBMMW_ErrorMessage').AsString);// 显示出错记录的第一个字段+出错信息

end;

实际上,TkbmMWClientQuery的OnResolveError事件,也是在Query向服务器发出请并收到服务器的响应后,根据服务器响应的ErrorTable内容触发的。这里的方法,可完全替带Query的OnResolveError事件。

原文地址:https://www.cnblogs.com/xalion/p/2712565.html