procedure Tdbquery.AqueryExecute(Sender: TObject; Params: TStrings);
var
LocateParams:TLocateParams;
begin
LocateParams:=wdmData.DataSetAdapter1.LocateParamsList.Add;
LocateParams.AddParam('CustNo',QueryCustno.ActionValue.Values[0]);
LocateParams.AdapterName:=wdmData.DataSetAdapter1.Name;
end;
当用户输入的客户编号在数据库中找不到时,有两种处理方法,一种是直接引发一个异常,WebSnap会把异常显示在网页中,代码如下:
If not wdmData.DataSetAdapter1.Locate then
Adapter1.Errors.AddError('该用户编号不存在 '+QueryCustno.ActionValue.Values[0]);
另外一种方法是设定Adapter.Errors属性值来标识失败,再设定CmdAquery的ErrorPageName导向特定的网页。
因此修改后的代码如下:
procedure Tdbquery.AqueryExecute(Sender: TObject; Params: TStrings);
var
LocateParams:TLocateParams;
begin
LocateParams:=wdmData.DataSetAdapter1.LocateParamsList.Add;
LocateParams.AddParam('CustNo',QueryCustno.ActionValue.Values[0]);
LocateParams.AdapterName:=wdmData.DataSetAdapter1.Name;
If not wdmData.DataSetAdapter1.Locate then
Adapter1.Errors.AddError('该用户编号不存在 '+QueryCustno.ActionValue.Values[0]);
end;