Delphi中多库关联查询

小曲挺坚硬

小曲挺坚硬

2016-02-19 17:29

下面是个简单易学的Delphi中多库关联查询教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

  在我们对数据库进行操作时,经常用到TTable控件,但TTable只能同时对一个数据表进行操作,而TQuery控件不仅具有TTable的多数功能,而且同时可对多个数据表进行操作。不仅如此,TQuery控件还有更强大的数据库查询功能,可以同时对多个不同结构的数据库进行关联查询,被查询的数据库可以是ODBC支持的任何一种类型,当然计算机中必须先安装ODBC和BDC(Delphi的数据库引擎),现举例说明。

  一、连接Paradox和dBASE进行异库查询

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

  例如:Master.db和Customer.dbf分别为Paradox和dBASE的数据库,它们有一个公共字段CustNo。这时可输入如下代码:

  Query1.Close;

  Query1.DataBaseName:=′′;

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

  Query1.SQL.Clear;

  Query1.SQL.Add(′Select * from ″Master.db″ A,″Customer.dbf ″ B Where A.CustNo=B.CustNo′);

  {在同一行内输入}

  Query1.Open;

  注意:进行多库联查时,TQuery控件的DataBaseName属性必须先置空,单引号内不包含任何字符;A和B分别是Master.db和Customer.dbf的别名(引用别名可减少代码长度)。

  二、MS Access的多表联查

  Access数据库属于多表集合数据库(一个数据库中包含多个数据表),所以,对两个Access数据库进行查询的方法就与上述有所不同。例如:我们有RSDA.mdb和ZFGjj.mdb两个数据库,RSDA中包含人事档案、在职职工目录和离职职工目录等数据表,ZFGjj通过公共字段用户号与RSDA相连。如果我们从ZFGjj中提取一个用户号,需要从RSDA中得到拥有此用户号的职工姓名,这时就必须用到TQuery的多表查询。

  第一步 在ODBC中增加两个数据源ZFGjj和RSDA。

  第二步 在BDE数据库引擎中添加两个数据库列名ZFGjj和RSDA。

  第三步 在表单中增加两个DataBase控件DataBase1和DataBase2,在AliasName属性中分别选择ZFGjj和RSDA,DataBaseName属性中分别键入ZFGjj和RSDA,最后将KeepConnection和Connected属性都设为True。

  现在可以输入相应的代码了:

  

  Begin  For I:=1 To 10 Do  Begin  Query1.Close;  Query1.DataBaseName:=′′;  Query1.Sq1.Clear;  Query1.Sq1.Add(′Select A.七月,B.个人账号,B.用户号,C.姓名From:ZFGjj:个人汇激部门表A,:ZFGjj:住房公积金明细表B,:RSDA:在职职工目录CWhere(A.用户号=B.封存=:ib)′);{在同一行输入}  Query1.Prepare;  Query1.Params[0].DataType.=ftInteger;  Query1.Params[1].DataType.=ftBoolean;  Query1.Params[0].Asinteger:=ia[I];  Query1.Params[1].Asboolean:=ib;  Query1.Open;  End;  End;

  代码中SQL语句必须在一行内输入,不能分行。SQL语句中使用了动态参数ia和ib,Delphi会自动按参数出现的顺序将它们添加在Query1的Params属性中并分配索引号分别为0和1,参数ia和ib应在程序开始时声明其类型并赋值。

展开更多 50%)
分享

猜你喜欢

Delphi中多库关联查询

编程语言 网络编程
Delphi中多库关联查询

Java应用数据库:Hibernate对多表关联查询

编程语言 网络编程
Java应用数据库:Hibernate对多表关联查询

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java开发中关于Hibernate对多表关联查询

编程语言 网络编程
Java开发中关于Hibernate对多表关联查询

Oracle巧取指定记录与巧用外关联查询

电脑网络
Oracle巧取指定记录与巧用外关联查询

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi中实现汉字拼音声母查询

编程语言 网络编程
Delphi中实现汉字拼音声母查询

用Delphi实现文件关联

Delphi
用Delphi实现文件关联

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win8设备DPI设置过大后的还原办法

Win8设备DPI设置过大后的还原办法

IE6图片元素img下出现多余空白问题

IE6图片元素img下出现多余空白问题
下拉加载更多内容 ↓