我用的是ADOQuery,sql:=select 分类号 from table where ...,
取出数据集后我就不知道该怎么做了,我想把取出的东西一条条的加入combobox中,并可以选择,请高手指点具体涉及到的属性以及参数,谢谢了

解决方案 »

  1.   

    通过查询语句,打开数据表后
    直接用循环语句读出该字段的值装入combobox中
    ADOQuery.sql:=select 分类号 from table where 书名='...';
    ADOQuery.open;
    while adoquery1.eof=false do
    begin
    combobox1.items.add(adoquery1.fieldvalues['书名']);
    end;
    ADOQuery.close;
    凭空打出来的,有些单词可能打错了,大楷就这样的吧
      

  2.   

    我照着试了,能行,不过还有一个问题,这个问题是所有显示出来的下拉选项都是一样的,都是数据库中的第一条纪录的值,我用的语句是ADOQuery1.Recordset.MoveNext;但是好像不行,还请您帮一下忙,谢谢
      

  3.   

    with ADoQuery do
    begin
      sql:= 'select 分类号 from table where 书名='...';
      open;
      first
      while not eof do
      begin
        combobox1.items.add(adoquery.fieldvalues['书名']);
        Next;
      end;
    end;
    ADOQuery.close;
      

  4.   

    谢谢您,成功了,我还有一个问题想请教您。如何做到在书名后面再加上书号,就像combobox1.items.add(adoquery.fieldvalues['书名']);
      combobox1.items.add(adoquery.fieldvalues['书号']);
    不过书名和书号是在一个下拉选项里面的,谢谢
      

  5.   

    ComboBox1.Items.Add(adoquery.fieldvalues['书名'], TObject(PChar(adoquery.fieldvalues['书号'])) );
    上面ComboBox1.Items.Add部分切換。procedure TForm1.ComboBox1Change(Sender: TObject);
    begin //取得书号
       Edit1.Text := PChar(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
    end;
      

  6.   

    什么叫”上面ComboBox1.Items.Add部分切換“,我不太明白,能不能解释的清楚一点,谢谢