如题;
我是这样做的:
          with Query1 do                  
            begin
              Close;
              Sql.Clear;
              Sql.Add('select id,name,beizhu');  //其中的beizhu字段是memo类型
              Open;
            end;
        Edit1.Text :=inttostr( Query1.RecordCount);  //我的数据表里面明明有记录的,为什么这里显示为-1?
                                                                          //当我不查询beizhu字段时,就能够正常显示。

解决方案 »

  1.   

    'select   id,name,beizhu'); 没表>?
      

  2.   


    1、更正 :  Sql.Add('select id,name,beizhu from user);  //其中的beizhu字段是memo类型 2、在查询分析器里执行显示为5条,但是在DELPHI里查询出来的RecordCount为-1。
    而用
      while not Query1.Eof do 
        begin
         //在这里能够正常进行数据操作
        end;
       
      

  3.   

    曾经也遇到过明明有记录,但RecordCount为-1,
    试下先Query1.First(或Query1.last);
    再Edit1.Text :=inttostr(Query1.RecordCount);     
      

  4.   

    re字段是text类型(我用的是sql 2000)
      Query1.Close;
      Query1.SQL.Text := 'select Id, name, re from myuser';
      Query1.Open;
      如果不执行下面的语句,recordcount的结果是-1;如果执行了下面的语句,recordcount的结果是正常的
      {while not Query1.Eof do
      begin
        showmessage(Query1.FieldByName('name').AsString);
        Query1.Next;
      end;}
      showmessage(inttostr(Query1.RecordCount));需要有人解释一下为什么?