收录日期:2018/10/18 02:44:19 时间:2016/05/24 00:06:39 标签:数据库相关
代码如下,主要功能就是用qry1中的'Unit'匹配qry2中的‘minunit’,‘maxunit’匹配成功后,更新qry1的‘res’字段
procedure TForm1.Button1Click(Sender: TObject);
var
 bigorsmall,res,count:integer;
begin
  bigorsmall:=0;
  count:=0;
  qry2.Close;
   qry2.SQL.Clear;
   qry2.SQL.Add('select minunit,maxunit,num,bidid from zbfw ');
   qry2.Open;
  with qry1 do
  begin
     close;
     sql.clear;
     sql.add('select id,bidid,unit,amount,res1 from sumry1 ');
     open;
  end;
  gauge1.MaxValue:=qry1.RecordCount;
  while not qry1.eof do
    begin
       qry2.Filtered:=false;
       qry2.Filter:='';
       qry2.Filter:='bidid='+trim(qry1.fieldbyname('bidid').AsString);
       qry2.Filtered:=true;
       //匹配大小单位
       try
       if qry1.Fieldbyname('unit').AsString=qry2.Fieldbyname             ('minunit').AsString then
          bigorsmall:=1;
       if qry1.Fieldbyname('unit').AsString=qry2.Fieldbyname('maxunit').AsString  then
          bigorsmall:=2;
       except
         showmessage('unit='+qry1.fieldbyname('unit').AsString+',minunit='+qry2.fieldbyname('minunit').AsString+',maxunit='+qry2.fieldbyname('maxunit').AsString+'出错');

       end;
       if bigorsmall=2 then
          res:=qry1.fieldbyname('amount').AsInteger*qry2.fieldbyname('num').AsInteger
       else
          if bigorsmall=1 then
             res:=qry1.fieldbyname('amount').AsInteger
          else
             res:=-1;
        label2.Caption:='amount='+qry1.fieldbyname('amount').AsString+',res='+intTostr(res);
       //更新res字段
       qry1.Edit;
       qry1.FieldValues['res1']:=res;
       qry1.Post;
        //
        qry1.Next;
       count:=count+1;
       application.ProcessMessages;
       label1.Caption:=intTostr(count)+'/'+intTostr(qry1.RecordCount);
       gauge1.Progress:=count;
    end;
   showMessage('完成!~') ;
end;
问题是,程序运行后,发现sumry1表(qry1连接的表)的res字段很多没有被更新(90%以上),跟踪程序,发现每次res有产生正确的值,但是qry1没有写进数据库!请高手指教一下

在对话框中如何输入彩色文本内容? 窗口消息 银行市级分行技术部门干,是否要跳槽.救命啊 SQL SERVER2000 中有没有字符数组??若有的话,怎么用???给个例子 PB中调用水晶报表 为什么把变量定义在其他的类,读取不同文件时候出错? int index=12;单步执行完后,变量窗口显示index值为34 指针变量问题 概念性问题很糊涂,请帮忙! 配置Jive问题 关于C#编写FORM调用对话框的问题 周末散分,回复即有分:无忧POS超市网 http://www.51pos.com 緊急問題求助...jsp网頁異常 有没有人知道对AD的编程接口 求助:关于打印问题 大家这么看待AA制? 标准c语言里是不是 struct 里不能定义函数的??? 在datagrid中使用DataNavigateUrlFormatString弹出一新窗口的问题. 如何绘制和保存256色bmp图??? 问一个查询速度的问题 有人在吗?关于网站上图片的问题 用showModalDialog,如何将一个ID值传导弹出页面上,并在填出页面的服务器端接受到这一值? 刚才那个防止一个帐号2个人同时登陆的问题我还有点不懂有人再解释下么? 这个是什么回事呢?? VC的自动关闭问题 C#,如何让MDI程序的子窗体打开时,子窗体的菜单不要跑到主窗体上,还是保留在子窗体上?(主窗体的菜单也不变化),谢谢。 有没有谁遇过这样的问题,数据库复制问题?(不能完全一样) 初学asp.net问一个初级的问题 AT指令的问题:我输入AT返回ok,其它全部是ERROR 怎样将一个字符串转化成字符数据(在线等待)