应该是很简单的问题,但是不知道该怎么样
小弟想从数据库中读取数据,写入listview中显示出来,每次读取刷新listview
数据库用adoconnect正确连接了procedure review;
var
  i:integer;
  str1,str2:string;
begin
    i:=1;
    while not form1.aq.Recordset.EOF do
    begin
      form1.listview1.Items.Item[i].Caption:='';
      str1:=form1.aq.Recordset.Fields[0].Value;
      str2:=form1.aq.Recordset.Fields[1].Value;
      form1.ListView1.Items.Item[i].SubItems.Strings[0]:=str1;
      form1.ListView1.Items.Item[i].SubItems.Strings[1]:=str2;
      form1.aq.Recordset.MoveNext;
      i:=i+1;
    end;
end;sql语句已经写入adoquery控间的sql里了
为什么用form1.aq.Recordset.Fields[0].Value;无法取出数据阿~~~
拜托了,各位别嫌麻烦,帮帮我吧

解决方案 »

  1.   

    try this:procedure review;
    var
      i:integer;
      str1,str2:string;
    begin
        i:=1;
        while not form1.aq.EOF do
        begin
          form1.listview1.Items.Item[i].Caption:='';
          str1:=form1.aq.Fields[0].Value;
          str2:=form1.aq.Fields[1].Value;
          form1.ListView1.Items.Item[i].SubItems.Strings[0]:=str1;
          form1.ListView1.Items.Item[i].SubItems.Strings[1]:=str2;
          form1.aq.Next;
          i:=i+1;
        end;
    end;
      

  2.   

    adoquery在操作时跟对TABLE的操作是相同的
      

  3.   

    改成这样试试。
          str1:=form1.aq.Fields[0].AsString;
          str2:=form1.aq.Fields[1].AsString;
      

  4.   

    还是出错阿,会不会其它什么地方设错了阿
    不过我用table可以正确显示表的内容阿
      

  5.   

    我知道了form1.listview1.Items.Item[i].Caption:='';
          
    是这句错了,看看那里有错?