我用ComboBox控件时,数据库连接上了,但不知怎么回事就是再运行时不显示数据库中的内容。
怎么解决?

解决方案 »

  1.   

    用DBLookupComboBox不须用代码添加其Items值
    属性设置
    ListSource为ADOQuery1.DataSource
    ListField为us_name
    KeyFeild为ID
    在用户选择相应条目的时该条目的ID号:
    DBLookupComboBox2.KeyValue
      

  2.   

    你 弄错了 combobox 不会显示数据库的内容的 ,你要用 DBLookupCombo1 才能显示数据库的内容
      

  3.   

    你弄错了,你应该用DBCombobox和DBLookUpCombobox控件。设置它们的DataSource和DataField属性,如果是DBLookUpCombobox的话,还应设置ListSource、ListFied和KeyField属性。
      

  4.   

    没错,是ComboBox,
    我的代码如下:
    procedure Tguahaofeishezhi.FormCreate(Sender: TObject);
    var
      i:integer;
      ATmpStr:string;
    begin
      ReadmeIni();
      with add_guahaofei do
      begin
        if Active then Close;
        ConnectionString:=ctLinkString;
        CommandText:='select leibie,shoufeibiaozhun,gongbenfei from yy_guahaofei';
        Open;
      end;
      cb_shoufeileibie.Clear;
      add_guahaofei.First;     //实现下拉列表。
      for i:= 1 to add_guahaofei.RecordCount do
        begin
          ATmpStr:=add_guahaofei.FieldByName('leibie').AsString;
          cb_shoufeileibie.Items.Append(ATmpStr);
          add_guahaofei.Next;
        end;
    end;
      

  5.   

    ComboBox不是Data aware(数据感知)控件,所以需要自己代码控制的
      

  6.   

    Combobox1.items.clear;with query1 do
      begin
        close;
        Unprepare;
        sql.clear;
        databasename :=database1.databasename;
        sql.text :=...;    try 
          Prepare;
          Open;
          
          First;
          While not Eof do
            begin
              combobox1.items.add(Fields[0].asstring);
              next;
            end;
       end;
      query1.close;