收录日期:2019/02/20 03:36:26 时间: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没有写进数据库!请高手指教一下

教你如何买手机:读懂“三包” 关于C++中指向指针的指针问题(句柄) 使tabcontrol中的tabpage最大化 在S2SH中如何让jsp自动读取数据表里的内容? ListView在内容未填充全屏时,选中第二行或第三行 关于自绘标题栏的问题... Android源码下开发程序引用类的问题 XmlReader问题 提示说FROM子语句有语法错误。是何原因啊,急。 求个 有点可行性的 算法 约瑟夫问题 netbeans 7,这是哪门子 bug? MFC 右键菜单问题 财务说公司没钱,发票不能报销!心情不好,给分了? 请教一个问题 在校生求指导,求经验 有没有朋友了解华为杭州研究所啊? delphi 分割字符串的问题 sql优化 CentOS里的“软件包更新工具”下载的软件放在哪里了? 向caozhy散个分 请教::php单例数据库 请教一个重载 和 一个 ostream语句 如何实现 点击复制中的链接地址 她结婚了,晴天霹雳...... 如何改变表中的文章id随机为自增 向Unicode文件写汉字出错 改写Unicode文件中的汉字出错 C# ShapeContainer类怎么设置鼠标事件? C#怎么清空SQL数据库中的指定表