SQL语句为   SELECT  FIELDNAME   FROM   TABLE
我想把FIELDNAME字段中所有的值都显示在COMBOBOX的下拉列表中,我是初学者,请大家说的详细点好吗?

解决方案 »

  1.   

    下面的代码是通过RadioButton的click事件,然后把TABLE所查到的数据填写锦Combox的Items中:
    procedure Tfrm_main.RadioBtnClick(Sender: TObject);
    begin
    try
     with DM.ADODataSet do
     begin
     close;                       //FIELDNAME
     commandtext:='select  '+ trim(RadioBtn.Caption)+' FROM TABLE';
     open ;
     ComboBox.Items.Clear;
     end;//with
     while not (DM.ADODataSet.Eof) do
      begin
        ComboBox.Items.Add(DM.ADODataSet.Fields[0].AsString);
        DM.ADODataSet.Next;
      end;//while
    finally
      DM.ADODataSet.Close;
    end;//try
    end;
      

  2.   

    query.sql.add('select id from Table');
    query.open;
    query.first;
    while not query.isempty do 
    begin
      combobox.items.add(query.fields[0].value)
    query.next
    end;
      

  3.   

    搂主可以揭帖了,:)
    或者用循环赋值也是可以的,原理都是一样的,或者用dbcombobox吧
      

  4.   

    我用了以下方法,第一个下拉列表中所有的值都显示出来了,第2个只显示了俩个数据值,为什么呢? 
    procedure TRoom_Code.FormCreate(Sender: TObject);
    begin
    try
     with DataModule1.ADOR_State do
     begin
     close;                       //FIELDNAME
     commandtext:='select   RS_State   from R_State';
     open ;
     CR_State.Items.Clear;
     end;//with
     while not (DataModule1.ADOR_State.Eof) do
      begin
        CR_State.Items.Add(DataModule1.ADOR_State.Fields[0].AsString);
        DataModule1.ADOR_State.Next;
      end;//while
    finally
      DataModule1.ADOR_State.Close;
    end;//trytry
     with DataModule1.ADOR_Type do
     begin
     close;                       //FIELDNAME
     commandtext:='select *   from R_Standard';
     open ;
     CR_Standard.Items.Clear;
     end;//with
     while not (DataModule1.ADOR_Type.Eof) do
      begin
        CR_Standard.Items.Add(DataModule1.ADOR_Type.Fields[1].AsString);
        DataModule1.ADOR_Type.Next;
      end;//while
    finally
      DataModule1.ADOR_Type.Close;
    end;//try
    end;
      

  5.   

    谢谢大家,问题解决了,我加了一句 DataModule1.ADOR_State.first;  结帖。
      

  6.   

    楼主,我不知是不是你在打开数据库之后
    记录已到了最后一条了,那样显示不出问
    题吗?
    我想应该在while not (DataModule1.ADOR_Type.Eof) do
    之前应该把记录指针定位到第条1条记录吧
    不知道我说的是不是哦。
    希望细心点