第一段:
var
sql:string;
iCount:integer;
begin
IF aStatus =0 then
begin
Label10.Caption :=Edit4.Text +Edit5.Text +Edit6.Text +Edit15.Text ;
sql:='Exec SavePayPriceH '+inttostr(PID)+','''+Edit6.Text+''','''+Edit4.Text+''','''+Edit5.Text+''','''+Edit15.Text+''', '
+''''+Label10.Caption+''',0,'''+Edit7.Text+''','''+Edit8.Text+''','''+Edit7.Text+''' ';
DM.CDS_PayExc.Close ;
DM.CDS_PayExc.CommandText :=sql;
DM.CDS_PayExc.Open ;
PID:=DM.CDS_PayExc.FieldByName('PID').AsInteger; F_Main.StatusBar1.Panels[3].Text :='记录被保存!';
end
else
F_Main.StatusBar1.Panels[3].Text :='此单据不可修改,保存失败!';第二段:
var
iCount:integer;
begin
DM.CDS_PayproiceB.DisableControls;
DM.CDS_PayproiceB.first;
DM.CDS_PayproiceB.Edit ;
DM.CDS_PayproiceBPID_.Value :=88;
DM.CDS_PayproiceBAppUser_.Value :=UserName;
DM.CDS_PayproiceB.Post ;
DM.CDS_PayProiceB.Next;
DM.CDS_PayproiceB.ApplyUpdates(0);
DM.CDS_PayproiceB.EnableControls;按顺序,先执行第一段,再执行第二段,第一段的执行结果是自己想要的,达到目的,但是第二段就不执行,没有达到目的
如果先执行第二段,再执行第一段,两段结果都能存到数据库里 都能正常执行
但是事实上是一定先执行第一段,第二的PID要取第一段的结果,我都查了一上午都没查出结果,请高手帮我看看啊,谢谢啊!!
var
sql:string;
iCount:integer;
begin
IF aStatus =0 then
begin
Label10.Caption :=Edit4.Text +Edit5.Text +Edit6.Text +Edit15.Text ;
sql:='Exec SavePayPriceH '+inttostr(PID)+','''+Edit6.Text+''','''+Edit4.Text+''','''+Edit5.Text+''','''+Edit15.Text+''', '
+''''+Label10.Caption+''',0,'''+Edit7.Text+''','''+Edit8.Text+''','''+Edit7.Text+''' ';
DM.CDS_PayExc.Close ;
DM.CDS_PayExc.CommandText :=sql;
DM.CDS_PayExc.Open ;
PID:=DM.CDS_PayExc.FieldByName('PID').AsInteger; F_Main.StatusBar1.Panels[3].Text :='记录被保存!';
end
else
F_Main.StatusBar1.Panels[3].Text :='此单据不可修改,保存失败!';第二段:
var
iCount:integer;
begin
DM.CDS_PayproiceB.DisableControls;
DM.CDS_PayproiceB.first;
DM.CDS_PayproiceB.Edit ;
DM.CDS_PayproiceBPID_.Value :=88;
DM.CDS_PayproiceBAppUser_.Value :=UserName;
DM.CDS_PayproiceB.Post ;
DM.CDS_PayProiceB.Next;
DM.CDS_PayproiceB.ApplyUpdates(0);
DM.CDS_PayproiceB.EnableControls;按顺序,先执行第一段,再执行第二段,第一段的执行结果是自己想要的,达到目的,但是第二段就不执行,没有达到目的
如果先执行第二段,再执行第一段,两段结果都能存到数据库里 都能正常执行
但是事实上是一定先执行第一段,第二的PID要取第一段的结果,我都查了一上午都没查出结果,请高手帮我看看啊,谢谢啊!!
加上
WHILE NOT dataset.EOF DO
Begin
//dosomething;
next;
end;
试试
DM.CDS_PayproiceB.CommandText:=sql;
DM.CDS_PayproiceB.Open;
这时打开了DM.CDS_PayproiceB 这个数据集,才可以在DBGRid中输入数据,添加行
而保存时,第一段代码,又执行了
DM.CDS_PayExc.Close ;
DM.CDS_PayExc.CommandText :=sql;
DM.CDS_PayExc.Open ;
当执行到第二段时,是对DM.CDS_PayproiceB这个来保存数据,这样就不行了,是不是执行第一段时关闭掉了DM.CDS_PayproiceB这个啊,我实在是想不到什么办法,来连续执行来保存,有人可以给介绍经验吗?