本帖最后由 sunbean101 于 2010-03-16 15:55:32 编辑

解决方案 »

  1.   

    跟踪一下吧,看看RecordCount到底有没有数据
      

  2.   

    可能没数据吧。。
    再则你的那个循环写得有点别扭。
    改成下面这样
    ADOQuery1.Open;
    ADOQuery1.First;
    while not ADOQuery1.Eof do
    begin
      ComboBox1.Items.Add(ADOQuery1.FieldByName('name').AsString);
      ADOQuery1.Next;
    end;
      

  3.   

    你的代码是没问题的,就是有点不太规整
    procedure TForm1.FormShow(Sender: TObject);
    var
      I: Integer;
    begin
      ComboBox1.Clear;
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('Select 姓名 from student');
      ADOQuery1.Open;
      if ADOQuery1.RecordCount > 0 then
      begin
        for I := 0 to ADOQuery1.RecordCount - 1 do
        begin
          ComboBox1.Items.Add(ADOQuery1.FieldByName('姓名').AsString);
          ADOQuery1.Next;
        end;
      end;
    end;
      

  4.   

    跟踪看看有没有数据就知道了,你看你的字段名称、表名对了没,数据库里看看有没有数据。调试一下就行了,combobox是肯定没有问题的
      

  5.   

    'Select name from 收入分类' 这个语句有没有加载到SQL那个属性里面。
      

  6.   

    AdoConnection 设置的库名是否正确,表中有无数据?
      

  7.   

    建议楼主这么写
      
     with dm.QDLXX do
     begin
       close;
       sql.Clear;
       sql.Add('select distinct DL_GONGSI from dl_xx');
       open;
     end;
     while not dm.QDLXX.Eof do
     begin
       combobox9.Items.Add(dm.QDLXX.fieldbyname('dl_gongsi').AsString);
       dm.QDLXX.Next;
     end;