SQL表里有五列,其中有一列为员工工号,一列为员工姓名,请问如何在一个COMBOBOX里同时显示出员工工号和员工姓名,中间以一空格分开,选择还是以员工工号为主,显示一列数据我已实现,但无法实现显示二列数据,请各位帮忙,谢谢!

解决方案 »

  1.   

    +的方法不可能出现错误,,你的代码有问题,,ADD可以实现,
    里面的内容是STRING
      

  2.   

    可以用循环控制,分别读出两个字段的值,然后组合成一个字符串加入到combobox中,循环操作、读到表尾
      

  3.   

    呵呵,
    这种+操作也不需要什么代码吧,var
    aa:string;
    begin
    ...
    aa:=adoquery1.fields[0].asstring+' '+adoquery2.fields[1].asstring;
    ...
    combobox1.items.add(aa);
    end;
    .......添多
      

  4.   

    详细解释
    http://www.resbbs.com/dispbbs.asp?boardid=9&id=57&star=#143
      

  5.   

    用+也有问题的,不能对齐,
    不过你的程序因该可以,因为员工号的长度是统一的,
    你可以用一个StrTemp:=员工号+‘   ’+‘|’+‘   ’+姓名;(其中‘   ’为几个空格,自己设)
    combobox1.items.add(StrTemp);
      

  6.   

    按 ghyghost(著名关心CSDN结贴率爱国主义人士) 的做法。item.add时候trim()一下。
      

  7.   

    combobox1.items.clear;
    adoquery1.first;
    while not adoquery1.eof do
    begin
      combobox1.items.add(adoquery1.fields[0].asstring+' '+adoquery1.fields[1].asstring);
      adquery1.next;
    end;
      

  8.   

    ComboBox1.Items.Clear;
    Query1.close;
    Query1.SQL.Text := ' select Name+''  ''+ID as Stemp from table1 where …… ';
    Query1.open;
    Query1.first;while not Query1.Eof do
       begin
       ComboBox1.Item.Add(Query1.fieldbyname(Stemp).asstring,nil);
       Query1.next;
       end;
      

  9.   

    ^_^一定是数据表的字段是Char[x]吧
    还是trim
      

  10.   

    把两个字段连接起来。
    在取出combobox的值后判断空格取出员工号
      

  11.   

    干嘛不用TDBLookupComboBox,它本身就支持2列显示