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

2016-02-19 17:26 5 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的Delphi3数据库编程中的查找字段教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

  在设计数据库时,我们尽量去掉一些冗余的数据字段。例如在职工信息库中,对于职工所在单位,我们仅保留单位编号,而具体的单位信息,则存放在单独的单位信息库中,这是符合关系数据库理论的规范化要求的。

  随之而来的问题是,在编辑职工信息时,大多数用户不愿意与单位编号打交道,而希望直接输入或选择单位名称,因为单位编号太不直观和容易出错。尽管用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//用于显示的单位库中的单位名称字段

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

  图一

  二、DBGrid中的查找字段

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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

  2、在Form1.Table1窗口,右键呼出快捷菜单,选择New Field为Table1增加一个查找字段Table1DWMC,如图二。

  图二

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  3、修改Table1DWMC.DisplayLabel=单位名称;

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

来源:https://www.tulaoshi.com/n/20160219/1615235.html

延伸阅读
标签: Java JAVA基础
1、java数据库操作基本流程 2、几个常用的重要技巧: 可滚动、更新的记录集 批量更新 事务处理 java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 1、取得数据库连接 1)用DriverManager取数据库连接 例子: String className,url,...
标签: Delphi
  随着Internet的普及和发展,Web成了新的商家必争之地,各家厂商都希望通过Internet技术与最终用户建立直接的联系,比如在Web上向用户推销产品、方便用户在网上查询自己喜欢的商品并提供网上订购服务等,于是产生了CGI(公用网关接口)、ASP等一系列生成动态网页的方法。CGI是最早生成动态网页的方法,几乎所有的...
TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT UNSIGNED 0 - 16777215 INT 或 INTEGER -2147483648 - 2147483647 ...
str:=Table1.Tablename; Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(format('select * from %s',[Str])); Query1.Open;
Dealing with Null strings in Access database fields By default Access string fields contain NULL values unless a string value (including a blank string like "") has been assigned. When you read these fields using recordsets into VB  string variables, you get a runtime type-mismatch error. The best way to deal wi...

经验教程

64

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部