我想用一个ComboBox或用一个DBComboBox显示数据库一个字段的所有值,怎么实现?我试着用DBComboBox但值能显示字段第一个值,请问是怎么回事?如果实现了怎么访问其中的每一个值?谢谢!

解决方案 »

  1.   

    comboBox1.Clear;
        with ClientDataSet1 do      //把数据写入至comboBox中
        begin
            First;
            while Not Eof do
            begin
               ComboBox1.Items.Add(Fields[1].AsString);
               Next;
            end;
        end;
      

  2.   

    comboBox1.Clear;
        with ClientDataSet1 do      //把数据写入至comboBox中
        begin
            First;
            while Not Eof do
            begin
               ComboBox1.Items.Add(Fields[1].AsString);
               Next;
            end;
        end;
      

  3.   

    遍历表,把字段值写入ComboBox的items中
      

  4.   

    form中放一TABLE
    comboBox1.Clear;
        with table1 do      
        begin
            First;
            while Not Eof do
            begin
               ComboBox1.Items.Add(Fields[1].AsString);
               Next;
            end;
        end;
      

  5.   

    那如何在ComboBox的items显示数据库一个字段所有不重复的值,注意是不重复的值!
      

  6.   

    用query 也可以
       with query do
       begin
         close;
         sql.clear;
         sql.add('select 字段名 from 表名');
         open;
         while not eof do
          begin
            combobox1.itmes.add(fieldbyname('字段名').value);
            next;
          end;
       end;
    我一直都是这样做的。不知道你说的意思是否是这样?
      

  7.   

    用DBcombox  就是显示一个值,它只是可以自动获得本字段可以取哪些值,如果你在数据表里定义了的话,显示所有值就象上面的,
    用DBLookupcombox 也可以的。
      

  8.   

    用Query来作把,可能会好一些至少可以避免重复的值。
    Query1.Close;
    Query1.SQL.Text:='Select Distinct aField from yourTable';
    Query1.Active:=True;
    Query1.First;
    DBComboBox1.DataSet.DisableControls
    DBComboBox1.Items.Clear;
    while Not Query1.Eof do
    begin
      DBComboBox1.Items.Add(Query1.Fields[0].AsString);
      Query1.Next;
    end;
    DBComboBox1.DataSet.EnableControls