procedure TIv1CFrm.BtnSADetailClick(Sender: TObject);
begin
with DM1.ADOTbAffair do
begin
if (State = dsEdit) or (State = dsInsert) then
begin
SumQuanMoney();
Post;//你是对DM1.ADOTbAffairafqt以及DM1.ADOTbAffairafsum进行附值操作,这个的Post是对DM1.ADOTbAffair进行保存~~不是一回事阿~~
end;
Edit;
end;
end;
begin
with DM1.ADOTbAffair do
begin
if (State = dsEdit) or (State = dsInsert) then
begin
SumQuanMoney();
Post;//你是对DM1.ADOTbAffairafqt以及DM1.ADOTbAffairafsum进行附值操作,这个的Post是对DM1.ADOTbAffair进行保存~~不是一回事阿~~
end;
Edit;
end;
end;
解决方案 »
- 我有D7设计ActiveX组件,为什么只能编译一次?
- SQL数据库日期型字段赋值的问题
- 问一个比较弱的关于弹出式菜单问题!
- 這個Adoquery的錯誤如何解決
- 怎样将ADOQuery进行数据库操作时报错信息换成自己的,或者彻底消除?
- delphi的程序里面怎么修改一个PB程序数据窗口中的数据
- 谁能告诉我怎样使用subclass方法?
- 求教AT命令,及让电脑发声
- editmask的问题,急!
- 大峡们好.我想问一问.delphi里有没有keyboard这个单元.我安装一个控件说缺少,keyboard.dcu,怎么处理?
- 谁有用Delphi实现bmp图像的打开,显示,关键是伸缩的功能的思路啊?
- 可远程访问的运行ServerSocket的微机,线路有何要求?
begin
with DM1.ADOQueryIV do
begin
Close;
SQL.Clear;
SQL.Add('Select sum(afquan) as aftqt, sum(afsum) as aftsum from airc');
SQL.Add('Where afno = ''' + DBEdit1.Text + '''');
ExecSQL;
Open;
end; with DM1.ADOTbAffair do
begin
if DM1.ADOQueryIV.FindField('aftqt').Value <> null then
begin
DM!.AdoTbaffair.Edit;
DM1.ADOTbAffairafqt.Value := DM1.ADOQueryIV.FindField ('aftqt').Value;//********
DM!.AdoTbaffair.Post;
end; if DM1.ADOQueryIV.FindField('aftsum').Value <> null then
begin
DM!.AdoTbaffair.Edit;
DM1.ADOTbAffairafsum.Value := DM1.ADOQueryIV.FindField('aftsum').Value;//********
DM!.AdoTbaffair.Post;
end;
end;
DM1.ADOQueryIV.Close;
end;procedure TIv1CFrm.BtnSADetailClick(Sender: TObject);
begin
SumQuanMoney();
end;
DM1.ADOTbAffairafmemo.Value := IntToStr(DM1.ADOQueryIV.FindField ('aftqt').Value);
DM1.ADOTbAffairafqt以及DM1.ADOTbAffairafsum是DM1.ADOTbAffair的两个字段呀
有时候确实容易出现问题的~~最好ADOQuery1XXX.Value := ADOQuery1XXX.AsString;也就是写出数据类型~~
begin
if DM1.ADOQueryIV.FindField('aftqt').Value <> null then
begin
DM!.AdoTbaffair.Edit;
DM1.ADOTbAffairafqt.Value := DM1.ADOQueryIV.FieldByName('aftqt').Value;//********
DM!.AdoTbaffair.Post;
end; if DM1.ADOQueryIV.FindField('aftsum').Value <> null then
begin
DM!.AdoTbaffair.Edit;
DM1.ADOTbAffairafsum.Value := DM1.ADOQueryIV.FieldByName('aftsum').Value;//********
DM!.AdoTbaffair.Post;
end;
end;
问题应该不在那两个赋值语句,现在的问题是对ADOTbAffair中数值型字段赋值就报错,而文本型的则不会。即便是用DBEdit来手工赋值然后再Post,它也会报错,而对文本型的就不会!