procedure TForm1.ComboBox1Change(Sender: TObject);
begin
combobox1.Items.Clear ;
  for   i:=0   to   (query1.fieldcount-1)   do
  begin
        combobox1.items.add(query1.Fields[i].FieldName);
  end;
  query1.Next ;  end;
为什么不显示呢 希望大家指导一下!

解决方案 »

  1.   

    不用这样写吧
    使用while应该很简单的
      

  2.   

    combobox1.Items.Clear ; 
    Query1.first;
    while not query1.eof do
    begin
      combobox1.items.add(query1.fieldbyname('字段名').asstring);
      query1.next;
    end;这样也应该可以
      

  3.   

    procedure TForm1.ComboBox1Change(Sender: TObject); 
    var
      i:integer;
    begin 
      combobox1.Items.Clear ; 
      for i:=0 to query1ADOQuery1.FieldCount -1 do
      begin 
          combobox1.items.add(ADOQuery1.Fields[i].FieldName );
      end; 
    end; 
      

  4.   

    建议把这段代码放到OnDropDown事件里。
    还有,把query1.next放到循环体里面。
      

  5.   

    combobox1.Items.Clear ; 
    Query1.first; 
    while not query1.eof do 
    begin 
      combobox1.items.add(query1.fieldbyname('字段名').asstring); 
      query1.next; 
    end; 
    运行以后 系统提示说:query1:can't perform this operation  on a closed dataset 疯了!
      

  6.   

    你的Query与ADOConnection连接正常吗?
      

  7.   

    我没有用ADO 我用DATABASE 建立一个数据库 然后在SQL EXPLORER  中 注册数据库 !我刚开始学,界面上我只用了QUERY 和DATASOURCE !
      

  8.   

    Query1.first; 
    之前有没有
    Query1.Open;
      

  9.   

    我的意思是 让内容显示在选项中:名字:JJZ !