我已经能够将数据从数据库中取出来了。不过是用一个变量STR来对应记录中的每个值,不知道能不能够将一条条的记录存放到一个TSTRINGLIST中?该如何做?
并且显示的函数又是什么?
请大家指教!

解决方案 »

  1.   

    可以啊:
    var
      s:tstringlist;
    begin
    s:=tstringlist.create;
    with adoquery1 do
    begin
      close;
      sql.clear;
      sql.add('select filed from youtable where condition');
      open;
      while not eof do
      begin
        s.add(FieldByName('field').asstring);
        next;
      end;  
    end;
    end;
      

  2.   

    function form1.GetStringList(AQuery:ADOQuery):TStringList;
    var
      s:tstringlist;
    begin
    s:=tstringlist.create;
    with AQuery do
    begin
      close;
      sql.clear;
      sql.add('select filed from youtable where condition');
      open;
      first;
      while not eof do
      begin
        s.add(FieldByName('field').asstring);
        next;
      end;  
    end;
    result:=s;
    s.free;
    end;
      

  3.   

    但是显示的函数又是什么呢?
    怎么把TSTRINGLIST在风格为REPORT里面的LISTVIEW中显示出来?
      

  4.   

    procedure TFrmModule.refreshLV(NameStr: string);
    var
      NodeId:string;
      endflag:boolean;
      IntLen:integer;
      item:TListItem;
    begin
      endflag := false;
      while not endflag do
      begin
        IntLen := pos(',',NameStr);
        if IntLen <> 0 then
        begin
          NodeId := copy(NameStr,1,IntLen - 1);
          NameStr := copy(NameStr,IntLen + 1 ,length(NameStr));
        end else
        begin
          NodeId := NameStr ;
          endflag := true;
        end;
        
        with cdsQuerySetupQXU do
        begin
          Locate('fieldcode',NodeId,[]);
          item := listview1.Items.Add;
          item.Caption := fieldbyname('fieldname').AsString;
          item.SubItems.Add(fieldbyname('fieldcode').AsString);
        end;
      end;
    end;