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;