procedure TMainForm.DataSetBroker2BeforeInsert(DataSet: TDataSet);
var
lQuery:TQuery;
i:integer;
j:integer;
begin
lQuery := TQuery.Create(nil);
{DataSetBroker2.DataSet.DisableControls;
DataSetBroker2.DataSet.First;
try
for i := 0 to DataSetBroker2.DataSet.RecordCount-1 do
begin
DataSetBroker2.DataSet.Edit;
DataSetBroker2.DataSet.FieldByName('XH').AsInteger:=1;
lQuery.ConnectionString :='DATABASEURL=Biz:\HGOPERATION\HGOPERATIONDB.DATABASE';
lQuery.CommandText := 'SELECT JC From XHPMXB Where '+' XHDL = :a '+' and XHGG = :b';
lQuery.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
lQuery.Params.ParamByName('b').AsString := DataSetBroker2.DataSet.FieldByName('XHGG').AsString;
lQuery.Open;
程序修改成
procedure TMainForm.FlowBroker1BeforeFlowOut(Sender: TObject; Command: TFlowOutCommand);
var
lQuery:TQuery;
i:integer;
j:integer;
begin
lQuery := TQuery.Create(nil);
DataSetBroker2.DataSet.DisableControls;
DataSetBroker2.DataSet.First;
for i := 0 to DataSetBroker2.DataSet.RecordCount-1 do
begin
lQuery.ConnectionString :='DATABASEURL=Biz:\HGOPERATION\HGOPERATIONDB.DATABASE';
lQuery.CommandText := 'SELECT JC From XHPMXB Where '+' XHDL = :a '+' and XHGG = :b';
lQuery.Params.ParamByName('a').AsString := DataSetBroker2.DataSet.FieldByName('HCDL').AsString;
lQuery.Params.ParamByName('b').AsString := DataSetBroker2.DataSet.FieldByName('XHGG').AsString;
lQuery.Open;
if (lQuery.FieldByName('JC').AsInteger-DataSetBroker2.DataSet.FieldByName('SJLYSL').AsInteger+
DataSetBroker2.DataSet.FieldByName('RKSL').AsInteger)<0 then
begin
jsdialogs.showmsg('库存不足,请先入库!','');
exit;
end
else
begin
lQuery.Edit;
lQuery.FieldByName('JC').AsInteger:=lQuery.FieldByName('JC').AsInteger+DataSetBroker2.DataSet.FieldByName('RKSL').AsInteger-DataSetBroker2.DataSet.FieldByName('SJLYSL').AsInteger;
lQuery.Post;
lQuery.ApplyUpdates;
end;
DataSetBroker2.DataSet.Next;
lQuery.Close;