begin
   rzprogressbar1.Percent:=0;
   dayall:='';
   for i:=0 to checklistbox1.Items.Count-1  do
      begin
         if checklistbox1.Checked[i]=true then
           begin
             dayall:=checklistbox1.Items.Strings[i];
             with adoquery1 do
               begin
                 close;
                 sql.clear;
                 sql.Add('use kq_yd');
                 sql.Add('drop table #kk');
                 sql.Add('insert into  k'+yearmonth+'yc(c_yc,id,rq) select ''1'''+','+trim(dbedit1.Text)+','+quotedstr(dayall));
                 sql.add('select id,rq,c_yc into #kk from k'+yearmonth+'yc group by id,rq,c_yc');
                 sql.Add('truncate table kk');
                 sql.Add('insert into k'+yearmonth+'yc(id,rq,c_yc) select * from #kk ');
                 ExecSQL ;
               end;
             end;
        end;
end;
cb的内容是日期01-31我想的是,我有选中的日期,然后往一张表插这个日期以及其它的一些数据到表里,现在就是要做一个RzProgressBar1,使之跟插入记录一起变动,要怎么加????

解决方案 »

  1.   

    begin
       rzprogressbar1.Percent:=0;
       dayall:='';
       for i:=0 to checklistbox1.Items.Count-1  do
          begin
             if checklistbox1.Checked[i]=true then
               begin
                 dayall:=checklistbox1.Items.Strings[i];
                 with adoquery1 do
                   begin
    //这里加
    rzprogressbar1.Position:= trunc((i/(checklistbox1.Items.Count-1)*100);                 close;
                     sql.clear;
                     sql.Add('use kq_yd');
                     sql.Add('drop table #kk');
                     sql.Add('insert into  k'+yearmonth+'yc(c_yc,id,rq) select ''1'''+','+trim(dbedit1.Text)+','+quotedstr(dayall));
                     sql.add('select id,rq,c_yc into #kk from k'+yearmonth+'yc group by id,rq,c_yc');
                     sql.Add('truncate table kk');
                     sql.Add('insert into k'+yearmonth+'yc(id,rq,c_yc) select * from #kk ');
                     ExecSQL ;
                   end;
                 end;
            end;
    end;
      

  2.   

    什么不对? dejiang(保龄球砸蚊子) 写的应该可以啊。看我这样没有问题的。const a=5735357;
    var
      i :Integer;
    begin
      for i := 0 to a do rzprogressbar1.Percent := trunc(i/(a)*100);
    end;
      

  3.   

    你的checklistbox1里有多少内容?如果只选中一条的话插入时间在毫秒级,用progressbar没有意义啊