数据库中的一个域中的内容怎么样不重复的加入到combobox的item中,
或怎样直接把一个项加入item中的内容(数据库连接用adoconnection和adoquery) 请详细点,因为我初学,不太懂,拜托了!!!!!!!!!!

解决方案 »

  1.   

    adoconnection.open;
    adoquery.close;
    adoquery.sql.text := 'select item_a from table_a';
    adoquery.open;
    while adoquery.eof do
      combox1.items.add(adoquery.fieldbyname('item_a').asString);
      

  2.   

    方法一:
    adoconnection.open;
    adoquery.close;
    adoquery.sql.text := 'select distinct item_a from table_a';
    adoquery.open;
    while adoquery.eof do
      combox1.items.add(adoquery.fieldbyname('item_a').asString);
    方法二:
    .....
    while adoquery.eof do begin
      strItem:=adoquery.fieldbyname('item_a').asString;
      if (combox1.items.indexof(strItem))
        combox1.items.add(strItem);
      .....
    end ;
      

  3.   

    delphijoe(delphijoe) 方法不错,非常同意
      

  4.   

    adoconnection.open;
    adoquery.close;
    adoquery.sql.text := 'select distinct item_a from table_a';
    adoquery.open;//这里要加一句:ComboBox1.Clear;while adoquery.eof do
      combox1.items.add(adoquery.fieldbyname('item_a').asString);
      

  5.   

    呵呵~~~好象是简单问题啊!
    adoconnection.open;
    adoquery.close;
    adoquery.sql.text := 'select distinct item_a from table_a';
    adoquery.open;
    while not adoquery.eof do begin
      combox1.items.add(adoquery.fieldbyname('item_a').asString);
      adoquery.next;
    end;
      

  6.   

    应该把以上代码加到哪个procedure里面,因为我也把它加到过formcreate里面,但是不行
      

  7.   

    procedure TForm2.ComboBox2Change(Sender: TObject);
    var
     adoquery2:TAdoquery;
    begin
    adoquery2:=tadoquery.Create(Self);
     adoquery2.Connection:=adoconnection1;
     adoquery2.Close;
     adoquery2.SQL.Clear;
     adoquery2.SQL.Add('select 出发城市 from 查询表');
     adoquery2.Open;
     adoquery2.First;
     combobox2.Clear;
     while not adoquery2.eof do begin
     ComboBox2.Items.add(adoquery2.Fieldbyname('出发城市').AsString);
     adoquery2.Next;
    end;
    end;有什么错吗?
      

  8.   

    在你加入上面的语句之前,加入这样两条语句
    combobox1.items.clear;
    combobox1.items.add('请选择');
    ......
      

  9.   

    用DBComboBox就可以了。如果不想要重复就得在查询条件中限制。
      

  10.   

    select fieild DISTINCT from tablename  
    就可以把fieild中的重复字段值取掉了。
      

  11.   

    adoconnection.open;
    adoquery.close;
    adoquery.sql.text := 'select distinct item_a from table_a';
    adoquery.open;//这里要加一句:ComboBox1.Clear;
    combobox1.items.add('请选择');
    while adoquery.eof do
      combox1.items.add(adoquery.fieldbyname('item_a').asString);
    combobox1.ItemIndex:=0;//默认在你的请选择字样。
      

  12.   

    with adoquery1 do 
    begin
      sql.text:='select * from 表名';
      open;
      while not eof do
      begin
        combobox1.item.add(fieldbyname('要加的字段').asstring);
        next;
      end;
    end;
      

  13.   

    找我,我会教你怎么学习delphi的,给我留言
      

  14.   

    怎么楼上很多朋友都忘加了- >
    ComboBox1.Clear;
      

  15.   

    while not adoquery.eof do begin
      combox1.items.add(adoquery.fieldbyname('item_a').asString);
      adoquery.next;
    end;
      

  16.   

    select distinct 
    使用distinct关键字搜索记录,然后把记录放入combobox
      

  17.   

    顶,用select distinct
    或者在add前先判断是否有重复的
      

  18.   

    顶,用select distinct
    或者在add前先判断是否有重复的
      

  19.   

    To:
    adoconnection.open;
    adoquery.close;
    adoquery.sql.text := 'select item_a from table_a';
    adoquery.open;
    while adoquery.eof do
      combox1.items.add(adoquery.fieldbyname('item_a').asString);'select DISTINCT item_a, ... from table_a GROUP BY item_a'.
      

  20.   

    我觉得寒林的方法是正确的,我也刚学Delphi,有很多问题不清楚,希望大家多指教!谢谢
     我用了DBGrid1和  DBNavigator1,还在旁边用了n个Labe1和edit,我想将DBGrid1锁定,不能点击,由DBNavigator1控制记录的选择,然后将相应的属性放映到edit里,怎么实现了?
      

  21.   

    按照welllove88(寒林)的 就这样不就好了吗!结贴!
      

  22.   

    此人信誉不好,一向以女子自称每次20分,问题不难,很少揭帖!大家慎重
    http://community.csdn.net/Expert/topic/3146/3146411.xml?temp=.2136652
    http://community.csdn.net/Expert/topic/3148/3148351.xml?temp=8.756655E-02
    http://community.csdn.net/Expert/topic/3147/3147931.xml?temp=.3597223BS这种人!