在船民信息修改保存功能上加一个业务信息策略,在数据集上加一个默认过滤条件1<>1,意思就是打开数据集的时候不取数据
然后修改一下窗体里的代码
procedure TCMXXXGBCFORM.BizFormCreate(Sender: TObject);
var
cmid : String;
fwcbid :String;
begin
ParserRunParams(cmid,fwcbid);
if length(cmid) > 0 then
begin
with TSQLDataSet(InfoBrokerCMXX.Info.DataSetByID('CMJBXX')) do
begin
// SQLFiltered := false; //注掉这一句,这一句会刷新数据集
SQLFilter := ' CMNBID=''' + cmid + '''';
SQLFiltered := true;
UserFilter := ''; //加上这一句,把信息策略中的1<>1条件去掉。
end;
if length(fwcbid) > 0 then
begin
if InfoBrokerCMXX.Info.DataSetByID('CMCSGX').RecordCount > 0 then
begin
Business.Forms.Dialogs.ShowMessage('该船民已经在其他船舶!!!');
Close;
exit;
end else
begin
InfoBrokerCMXX.Info.DataSetByID('CMCSGX').Append;
InfoBrokerCMXX.Info.DataSetByID('CMCSGX').FieldByName('CBNBID').AsString := fwcbid;
end;
end;
end;
end;