论坛登陆 用户: 密码:
联系我们
设为首页
加入收藏
业界新闻 网络编程 程序开发 网页图象 聊天通讯 软件应用 网络安全 硬件学堂 教育频道 站长club
  ·推荐新闻
 
·美前任官员认为amd告倒英特
·搜索引擎关键字排行简介
·网站优化教程(一)
·msn近期遭受木马病毒骚扰 用
·用qq管理你的系统^_^ 
·测评中心金山毒霸联合发布7
·qq群聊实名 普通用户不受影
·雅虎思科联手推数字邮件签名
·这18条背下来没人敢和你忽悠
·自己动手,拯救丢失的硬盘数
  ·资料搜索
 
  ·相关文章
·制作用于日期时间型字段的delp
·数据库应用程序开发中图像数据
·delphi 中使用计算出的字段
·dbgrid中的下拉列表和查找字段
·在delphi中建立和使用别名
·用delphi实现将纯文本资料转入
·tdbgrid控件中对多个记录的处理
·在delphi动态生成定义数据库
·用delphi编程访问sqlserver数据
·在dbgrid中实现copy、paste功能
  ·热门新闻
首页>>程序开发>>delphi >>文章正文

delphi3数据库编程中的查找字段


 日期:2005-7-18 8:59:48     来源:易特网络技术   编辑:黑鹰  点击:
p>  在设计数据库时,我们尽量去掉一些冗余的数据字段。例如在职工信息库中,对于职工所在单位,我们仅保留单位编号,而具体的单位信息,则存放在单独的单位信息库中,这是符合关系数据库理论的规范化要求的。

  随之而来的问题是,在编辑职工信息时,大多数用户不愿意与单位编号打交道,而希望直接输入或选择单位名称,因为单位编号太不直观和容易出错。尽管用sql语言,可以在query控件中实现两个数据库的链接,但是比较麻烦,delphi3提供了一种捷径,让用户在编辑职工信息库时,直接操作单位名称,从包含有所有单位名称的下拉式列表中进行选择,这就要用到非常实用的查找字段编程。

  在窗体中一次编辑一条记录和在dbgrid网格中一次编辑多条记录,查找字段的应用方法是迥然不同的,前者要用到tdblookupcombobox控件,而后者要用到表格的lookup field字段。

一、tdblookupcombobox控件的用法
  tdblookupcombobox控件可以同时与两个数据源相链接,一个是主数据源datasource,另一个是二级数据源listsource。在主数据源和二级数据源中,必须有意义完全相同的两个字段,称之为查找字段(或关键字段),分别设置为tdblookupcombobox的datafield和keyfield属性,listfield属性用于设定显示字段,显示字段来自于二级数据源listsource。

  举例加以说明,职工信息库包括有职工编号、姓名、出生日期、性别、籍贯、单位编号等字段,单位信息库包括有单位编号、单位名称、负责人姓名、电话号码、传真号码、电子邮件地址等字段。在编辑职工信息时,用单位信息库中的单位名称代替某个职工的单位编号,需要在窗体中增加一个tdblookupcombobox控件对象,设置它的属性:

datafield=dwbh //职工信息库的单位编号字段
datasource=datasource1 //职工信息库数据源
keyfield=dwbh //单位信息库的单位编号字段
listsource=datasource2 //单位信息库数据源
listfield=dwmc //用于显示的单位库中的单位名称字段


  运行时界面如图一,可以用鼠标单击单位名称编辑框右边的下箭头,从激活的下拉式列表中进行选择。
lpydelphi200006100001.jpg
  图一


二、dbgrid中的查找字段
  在dbgrid中实现查找字段,需要提供一个二级数据表格(table2),table2指向单位信息库,同时要为主数据库表格table1增加一个查找字段(lookup field)。设计的方法略为复杂一些。

   1、双击table1控件,为table1(职工信息库)增加所有字段,修改各个字段的显示标签,设置table1dwbh.visible=false,因为我们不需要显示单位编号。

   2、在form1.table1窗口,右键“呼”出快捷菜单,选择new field为table1增加一个查找字段table1dwmc,如图二。

lpydelphi200006100002.jpg
  图二

   3、修改table1dwmc.displaylabel=单位名称;

   运行界面如图三,可以用鼠标单击某个记录的单位名称字段,激活一个下拉式列表,从中进行选择。
lpydelphi200006100003.jpg

上一篇:用delphi 开发数据库程序经验三则
下一篇:delphi数据库开发及统计表格设计
[发送给好友] [打印本页] [关闭窗口] [返回顶部转载请注明来源:http://www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 黑鹰 投稿作者: 易特网络
信息来源: 易特网络技术 录入时间: 2005-7-18 8:59:48
浏览次数: 投稿信箱: shtghy@163.com
设置首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights ©2004-2005 iyit.net all rights reserved. 网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息