问大家一个很菜的问题:
Delphi数据库编程中我通过:
     with ADOQuery1 do
     begin
     Close;
     SQL.Clear;
     SQL.Add('select 聊天内容 from 聊天记录表');
     SQL.Add('Where 用户名=:用户名');
     Parameters.Parambyname('用户名').Value:='管理员';
     Open;
     end;
得到了多条管理员的聊天内容,我知道可以用ADOQuery1.RecordCount得到DBGrid的行数,我想把这些行的聊天内容都显示在一个memo中,即:如何遍历DBGrid一列中的所有行,得到每行的值??
期待答复,谢谢大家了!

解决方案 »

  1.   

    对adoquery遍历,用fieldbyname('字段名')取值,添加到memo中不就可以了
      

  2.   

    while not adoquery1.eof 
    begin
    memo1.Lines.Add(fieldbyname('字段名').asstring);
    memo1.lines.add(......
    .....
    next;
    end;
      

  3.   

    因为通过上面的SQL语句已经得到了只有‘聊天内容’这一个字段,
    这个字段下有好多行,假设是10行,可以通过一句
    Memo1.Lines.Add(ADOQuery1.fieldbyname('聊天内容').AsString);
    把所有10行的聊天内容都输出吗??
    我试了有错呀~
      

  4.   

    hhnick(nick),你好~
    问题就出在对如何对adoquery遍历??我菜菜的不懂哦~
      

  5.   

    adoquery.first;
    Memo1.lines.clear;
    While not adoquery.eof do
    begin
      Memo1.Lines.Add(adoquery.fieldbyname('聊天内容’').asstring);
      adoquery.next;
    end;
      

  6.   

    呵呵,可以了,谢谢gulf1234(小顾) ,谢谢大家~!