请大家帮忙看看,解决后立即给分。 
            daqtemp1.First;
             while not daqTemp1.Eof do
             begin
               daqTempselect.Close;
               showmessage('1');
               daqTempselect.sql.Add('select Items_code from fsdw.Items_Info ');
               daqTempselect.sql.Add(' where Units_code=''' + astrUnits_code + '''');
               daqTempselect.sql.Add(' and Items_code like ''' + daqTemp1.fieldByName('Items_code').asstring + '%''');
               daqTempselect.sql.Add(' and Items_code<>''' + daqTemp1.fieldByName('Items_code').asstring + '''');
               showmessage(daqTempselect.sql.text);
               daqTempselect.Open;//第一遍成功通过,第二遍执行到这的时候,报SQL没正确结束。
               if daqTempSelect.RecordCount <= 0 then
               begin
                 strSQL := 'update fsdw.Items_Info set last_level=''1'''
                   + ' where Units_code=''' + astrUnits_code + ''''
                   + ' and Items_code=''' + daqTemp1.fieldByName('Items_code').asstring + '''';
                 execSQL(strSQL);
               end;
               daqTemp1.Next;
             end;

解决方案 »

  1.   

    daqtemp1.First;
                 while not daqTemp1.Eof do
                 begin
                   daqTempselect.Close;
                   showmessage('1');
                   daqTempselect.sql.clear;  // <- 加上!
                   daqTempselect.sql.Add('select Items_code from fsdw.Items_Info ');
      

  2.   

    哈哈,这个基本常识
    先close
    然后sql.clear
    然后sql.add
    然后open
      

  3.   

    对你先按照sysu(死树) ( ) 的做一下!
    有问题请发信息到我的E-mail:[email protected]