环境
D2007 Ado+MS SQL2000 +Cxgrid在操作主从表时,从表的记录增加提供两种方法以。
一个是单一记录增加使用的方法:qDetail.append另一个是多记录增加 从其他表中增加的。使用的方法: //增加明细
DModule.qrytemp.Close;
DModule.qrytemp.SQL.Text:='Exec pGetFlOrderList @BillNo='
+''''+qMaster.FieldByName('fBillNo').AsString+'''';
DModule.qrytemp.Open;
//
DModule.qrytemp.First;
while not DModule.qrytemp.Eof do
begin
qDetail.Append;
QDetail.FieldByName('fInQty').AsFloat:=DModule.qrytemp.FieldByName('fInQty').AsFloat;
QDetail.FieldByName('fPrice').AsFloat:=DModule.qrytemp.FieldByName('fPcPrice').AsFloat;
DModule.qrytemp.Next;
end;奇怪的是:第一个增加记录方法,没有什么问题发现。
第二个方法,在记录增加成功后,我在修改qDetail其中的比如fprice字段时
1、如果增加有三条记录,我修改前两条记录的fprice点保存时,可以保存修改结果。但如果在编辑最后一条记录时,却无法保存。(比如原来是5,我改成了10,结果保存后还是5)
2、上述情况,如果修改最后一条记录的fprice的值后,我把记录从最后一条记录移动到其他记录。就可以保存了。
3、保存的方法
qDetail.UpdateBatch();
D2007 Ado+MS SQL2000 +Cxgrid在操作主从表时,从表的记录增加提供两种方法以。
一个是单一记录增加使用的方法:qDetail.append另一个是多记录增加 从其他表中增加的。使用的方法: //增加明细
DModule.qrytemp.Close;
DModule.qrytemp.SQL.Text:='Exec pGetFlOrderList @BillNo='
+''''+qMaster.FieldByName('fBillNo').AsString+'''';
DModule.qrytemp.Open;
//
DModule.qrytemp.First;
while not DModule.qrytemp.Eof do
begin
qDetail.Append;
QDetail.FieldByName('fInQty').AsFloat:=DModule.qrytemp.FieldByName('fInQty').AsFloat;
QDetail.FieldByName('fPrice').AsFloat:=DModule.qrytemp.FieldByName('fPcPrice').AsFloat;
DModule.qrytemp.Next;
end;奇怪的是:第一个增加记录方法,没有什么问题发现。
第二个方法,在记录增加成功后,我在修改qDetail其中的比如fprice字段时
1、如果增加有三条记录,我修改前两条记录的fprice点保存时,可以保存修改结果。但如果在编辑最后一条记录时,却无法保存。(比如原来是5,我改成了10,结果保存后还是5)
2、上述情况,如果修改最后一条记录的fprice的值后,我把记录从最后一条记录移动到其他记录。就可以保存了。
3、保存的方法
qDetail.UpdateBatch();
解决方案 »
- 200分求助一个数据库的查询问题
- 关于线程和内存释放问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 请问关于cxCombobox控件输入中文乱码的问题
- 关于写文本文件的小问题,请高手不吝赐教
- 各位大哥谁用过Interbase数据库,如何用Sql Explor打开gdb表?
- 我写了一个开机自动运行程序.但报错:文件没找到.请帮我看一下错在哪里.
- 用ActiveForm作B/S结构,若要弹出多个网页,如何实现?
- 高分悬赏,奇怪的'Invalid Class TypeCast'
- 怎样删除类型文件的数据?
- edit控件里的光标位置怎么移动???
- 报表问题!急死了
- Delphi 释放自身占用的内存资源
QDetail.FieldByName('fInQty').AsFloat:=DModule.qrytemp.FieldByName('fInQty').AsFloat;
QDetail.FieldByName('fPrice').AsFloat:=DModule.qrytemp.FieldByName('fPcPrice').AsFloat;Append怎么没有Post?