with adoquery1 do
     begin
       Close;
       sql.Clear;
       SQL.Text := 'select * from  assign where  assign='+'3'+' ';
       open;
     end;
      adoquery1 .First;
       while not adoquery1 .Eof do
         begin
            showmessage(adoquery1.FieldByName('id').asstring);
            adoquery1 .next;
         end;
数据库表里符合条件的有9条记录,当我把adoquery1连上Access,showmessage了9次.当我把adoquery1连上SQL Server,showmessage了8次,第一条记录不显示,何故.

解决方案 »

  1.   

    with adoquery1 do
         begin
           Close;
           sql.Clear;
           SQL.Text := 'select * from  assign where  assign='+'3'+' ';
           open;       while not adoquery1 .Eof do
             begin
                showmessage(adoquery1.FieldByName('id').asstring);
                next;
             end;  
         end;
    看看
      

  2.   

    这句话我看不懂,能解释一下吗?
    SQL.Text := 'select * from  assign where  assign='+'3'+' ';
      

  3.   

    那与 SQL.Text:='Select * from assign where assign=3'有什么不同?