CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

急急急!ComboBox取值问题!!!

楼主zglwxb(假钞换贞操)2005-07-02 00:02:42 在 Delphi / 数据库相关 提问

程序就差那么一点了,唉!!!急啊.  
  表名: aaa   ;字段:ID       int   (唯一),     Caption       char(可重复)  
  **********************************  
  begin  
        ADOQuery4.Active   :=   true;  
        if     ADOQuery4.Eof     then   exit;  
      for   i:=0   to   ADOQuery4.RecordCount   -1   do  
              begin  
                ComboBox1.Items.Add(inttostr(ADOQuery4Caption.Value));  
                ADOQuery4.Next;  
          end;  
  end;  
  ********************  
  Caption的值有重复  
  当在ComboBox选择的时候,怎样才能知道,选择的Caption所属的ID是什么呢?  
  我试用了DBLookupComboBox1,运行时总出错,说地址为例  
  麻烦个位了  
  谢谢 问题点数:50、回复次数:12Top

1 楼zglwxb(假钞换贞操)回复于 2005-07-02 00:20:54 得分 0

没有人知道吗???  
   
  顶一下先Top

2 楼lovend(颓废之吻)回复于 2005-07-02 00:24:24 得分 9

帮你顶Top

3 楼zglwxb(假钞换贞操)回复于 2005-07-02 00:27:14 得分 0

谢谢楼上的Top

4 楼zaza_bbface(我试着成熟一点~)回复于 2005-07-02 00:49:31 得分 10

用DBLookupComboBox1,挺好用的。  
  实现上述功能:  
  设定一个listsource  
  设定一个listfield和keyfield .  
  将数据集open  
  可将datasource中的结果集放在dblookupcombobox中,  
  下拉框显示的是listfield的字段,它对应一个keyfield字段(比你说你的id字段)  
  当在DBLookupComboBox1选择了一项后,用  
  DBLookupComboBox1.KeyValue就能得到keyfield字段(你的id字段的值).  
  也可以直接给DBLookupComboBox1.KeyValue:=xx赋值来定位DBLookupComboBox1的当前下拉项Top

5 楼zaza_bbface(我试着成熟一点~)回复于 2005-07-02 00:53:42 得分 8

如果用你的办法其实也是可以做的,用两个combobox,一个存caption,一个存id,两个combobox的index是一一对应的。  
  不过如果数据量大的话就不太好,因为你要把adoquery循环一遍加到combobx里。Top

6 楼Kshape(C/C++初学者~~~~)回复于 2005-07-02 01:53:58 得分 8

这个在你已经加入COMBOBOX后再回过头去判断恐怕不好弄  
  如果不行你可以用  
  Caption/ID  
  的形式保存Top

7 楼zglwxb(假钞换贞操)回复于 2005-07-02 08:50:01 得分 0

zaza_bbface(我试着成熟一点~)    
  方法一   您的方法我早已试过,但是就出先说地址为例!(DBLookupComboBox1)  
  方法二   没试过!试一下先.  
   
  *************  
    Kshape([伟大的大伟!]/一心考研中!)  
  这个方法也不错    
  但是决得有点不够专业.  
  呵呵  
   
  谢谢两位  
  **********************  
  还在努力中Top

8 楼jlanyi2003(江城浪子)回复于 2005-07-02 08:51:52 得分 2

只能编程实现了Top

9 楼topforver(辉)回复于 2005-07-02 09:25:52 得分 5

能不能在数据库加一个字段,是插入Combox得编号,就是Combox得Index和这个字段对应了.这样得到选择得Index就可以回头查询表就可以知道是那个IDTop

10 楼ywy360118()回复于 2005-07-02 09:46:15 得分 8

function   BinSearch(var   cmb:TComboBox;const   Str:String):integer;overload;  
  var  
      L,R,M                   :Integer;  
      CompareResult   :integer;  
  begin  
        cmb.Sorted   :=   true;  
        L   :=   0;  
        R   :=   Pred(cmb.Items.Count);  
        while   (L   <=   R)   do  
        begin  
              M   :=   (L   +   R)   div   2;  
              CompareResult   :=   AnsiCompareText(cmb.Items[M],Str);  
              if   CompareResult   =   0   then  
              begin  
                    Result   :=   M;  
                    Exit;  
              end   else   if   (CompareResult   <   0)   then   L   :=   M   +   1   else   R   :=   M   -   1;  
        end;  
        Result   :=   -1;  
  end;  
                   
  //------------------------------------------------------------------  
   
  if   BinSearch(ComboBox1,ADOQuery4.FieldByName('caption').AsString)   =   -1   then  
                      ComboBox1.Items.Add(ADOQuery4.FieldByName('circuit').AsString);  
   
  Top

11 楼ywy360118()回复于 2005-07-02 09:48:09 得分 0

//修正  
                 
  if   BinSearch(ComboBox1,ADOQuery4.FieldByName('Caption').AsString)   =   -1   then  
                        ComboBox1.Items.Add(ADOQuery4.FieldByName('caption').AsString);Top

12 楼zglwxb(假钞换贞操)回复于 2005-07-02 10:28:45 得分 0

不知道楼上的意思是什么???  
   
  不过我已经用其他方法解决了,  
   
  谢谢各位!!!Top

相关问题

  • 关于checkbox的取值问题?????急急急急急急!!!!!
  • ComboBox急急急急!!!!
  • 签套报表取值的问题?急急急!高手指点!
  • 急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急
  • 紧急取值!!!
  • 急等:取值
  • 急!!!急!!!关于DataGrid中隐藏列取值的问题!!高人请指点!!
  • 急急急急急急急急急急~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!
  • 急急急急急急急急急急!
  • 急急急急急急急急急急!!!!!!!

关键词

  • 字段
  • 选择
  • dblookupcombobox
  • combobox
  • adoquery4
  • cmb
  • caption
  • keyfield
  • 谢谢
  • 方法

得分解答快速导航

  • 帖主:zglwxb
  • lovend
  • zaza_bbface
  • zaza_bbface
  • Kshape
  • jlanyi2003
  • topforver
  • ywy360118

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo