有数据表1
结构如下:id    st1  st2
           1    aaa  aa1
           2    bbb  bbb
(上表没有特殊规律)
欲将表中一列如:ST1列加入到一个COMBOBOX的Items中;
即得可以在COMBOBOX的下拉列表中得到该列数据。应该怎么写,请高手指点谢谢!!!!(补充:祝大家情人节快乐)
(在线等答案。)

解决方案 »

  1.   

    var
     I:Integer;
     begin
       with adoquery1 do
           begin
              close;
              sql.clear;
              sql.add('select * from tablename');
              open;
              first;
              for I:=0 to recordcount-1 do
                  begin
                  combobox1.items.add(fieldbyname('st1').asstring);
                   end;
              close;
           end;
    end;
      

  2.   

    楼上的代码可用,也可动态建立Query
      

  3.   

    with TADOQuery.Create(nil) do
    begin
      ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Works.mdb;Persist Security Info=False';//此连接语句请自行修改
      SQL.Add('Select * From 表1');
      Open;
      ComboBox1.Items.Clear;
      While Not Eof do
      begin
        ComboBox1.Items.Add(FieldbyName('st1').AsString;
        Next;
      end;
      Free;
    end;
      

  4.   

    with TADOQuery.Create(nil) do
    begin
      ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Works.mdb;Persist Security Info=False';//此连接语句请自行修改
      SQL.Add('Select * From 表1');
      Open;
      ComboBox1.Items.Clear;
      While Not Eof do
      begin
        ComboBox1.Items.Add(FieldbyName('st1').AsString);//刚才这里少了个括号
        Next;
      end;
      Free;
    end;
      

  5.   

    一楼的代码我调试之后的结果是。
    aaa
    aaa
    也就是第一列复制了两次!!
      

  6.   

    这个要加:'select distinct st1 from tablename'
    -----------------------------------------------
    var
     I:Integer;
     begin
       with adoquery1 do
           begin
              close;
              sql.clear;
              sql.add('select distinct st1 from tablename');
              open;
              first;
              for I:=0 to recordcount-1 do
                  begin
                  combobox1.items.add(fieldbyname('st1').asstring);
                   end;
              close;
           end;
    end;
      

  7.   

    请教一下,recordcount-1是啥意思
      

  8.   

    上面的那段少了一个NEXT;我在循环里加上一个NEXT才可以。
      

  9.   

    不过还是想请高手说一下recordcount是啥意思呀!