请问下,怎么查找一个表,并且把其中一个叫做road的字段,的所有名字赋值到listbox啊..求代码..急用..谢谢

解决方案 »

  1.   

    str:='select distinct personname from person';
        with dm.ADOQselect do
        begin
           Close;
           sql.Clear;
           sql.Add(str);
           Open;
        end;
        for i:=1 to DM.ADOQselect.RecordCount do
            begin
              listbox.Items.Add(DM.ADOQselect.Fields[0].asstring);
              DM.ADOQselect.Next;
            end;
      

  2.   

    楼上说的不错
    str:='select distinct personname from person';
        with dm.ADOQselect do
        begin
           Close;
           sql.Clear;
           sql.Add(str);
           Open;
        end;
        for i:=1 to DM.ADOQselect.RecordCount do
            begin
              listbox.Items.Add(DM.ADOQselect.Fields[0].asstring);
              DM.ADOQselect.Next;
            end;
    不过最好在for循环之前将listbox.Items.clear掉。
      

  3.   


    procedure GetFromTableToCombox(FieldName,TableName:string;ADOConnection:TADOConnection;
    Strings:TStrings);
    var
      AdoQry:TadoQuery;
    begin
      adoqry:=tadoquery.Create(self);
      AdoQry.connection:=ADOConnection;  Assert((trim(FieldName)<>'') and (trim(TableName)<>''),'SQL 语句错误');  with adoqry do
      begin
        sql.Add('select ' + FieldName + ' from ' + TableName);
        open;    //if RecordCount>0 then
        begin
          first;
          while not Eof do
          begin
            Strings.Add(FieldByName(FieldName).AsString);
            next;
          end;
        end;
        close;
      end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      GetFromTableToCombox('sup_id','supp',ADOConnection1,ListBox1.Items) ;
    end;