我在一个查询窗体中用到了comboBox 在窗体oncreate时是自动添加数据库里的字段:程序如下:   cds1.Close;
 cds1.CommandText:='select * from table';
 cds1.Open;
 ComboBox1.Items.Clear;
  with cds1 do
  begin
     while not eof do
     begin
      combobox1.Items.Add(fieldbyname('n1').AsString);
      next;
     end;
  end;
在用comboBox显示出来的内容作为查询条件时,我使用了if comboBox1.items[combobox1.ItemIndex]='string' 和if comboBox1.text=‘string’ 编译器都不能识别,没有查询出任何记录!到底该怎么取combobox1的值那?请各位大侠指点!谢谢!

解决方案 »

  1.   

    combobox1.ItemIndex := 1 //这里是用数字来表示的,0开始的
      

  2.   

    comboBox1.text;//comboBox1显示的值,不知道你所说的编译器不能识别是什么意思,我想编译肯定可以通过,可能与楼主想要的结果不一样,楼主单步跟踪一下代码查查
      

  3.   

    ShowMessage(ComboBox1.Items.Strings[ComboBox1.ItemIndex]);
      

  4.   

    是我说错了!编译通过了,只是没有运行结果,
    combobox1.ItemIndex := 1;这样写法能得到查询结果,但是combobox中的项是随着所连接的表的项变化的,不能每次加一项就要修改程序啊!
      

  5.   

    问题解决了!多谢各位!
    我在查询时这样写就可以了:cds.commandtext:='select * from table where n1='''+combobox.text+'''';这样就能取到选择的值!