如何实现在一个Dbgrid中显示多数据库(200分)

  • 主题发起人 主题发起人 lam
  • 开始时间 开始时间
我新到此地,不知道如何发出解答信息,不知这样可否。

如果你说的数据库是数据表(Table),可用下面方法:

1。创建一个TQuery组件(q1),设置好DatabaseName属性;
2. 设置q1的SQL属性,用多表查询语句检索你所需要的多个表;
3。创建TDataSource组件dsr,其DataSet属性指向上述的q1;
4。创建TDBGrid组件,其DataSource属性指向dsr;
5. 设置q1.Enabled:=True.

不知道是否可解决你的问题。
 

select table1.id,table2.field from table1,table2 where table1.id=table2.id...
 
可以双击Table新建一些字段 类型选lookup 相信你看得明白的,如不明白我再详说
这种方法可以任意共享数据库,当然必须有索引字段
 
先写多表查询的SQL语句,在用DATASORUSE,TQUERY连接到DBGRID中。
 
可以用两个BatchMove
 
用TQuery 写多表查询, 即可显示多个表的数据.
 
要那么麻烦吗?
可以双击Table新建一些字段 类型选lookup 选择datasource也就是你所想要边接的表
resultname想返回的字段,一句代码不要写便可实现,sql还是用在别的地方吧!
 
这是我以前拷下来的一篇文章。
如何实现在一个Dbgrid中显示多数据库
在数据库编程中,不必要也不可能将应用程序操作的所有数据库字段放入一个数据库文件中
。正确的数据库结构应是:将数据库字段放入多个数据库文件,相关的数据库都包含一个
唯一的关键字段,在多数据库结构里可以建立联系。

  例如:要编制一个人事管理程序,为简化演示程序,只建立两个数据库,每个数据库
都只建立两个字段。

  个人简介 jianjie.dbf,由人事处维护;工资情况gongzi.dbf,由财务处维护。

一、数据库的建立

  进入DataBase Desktop,建立数据库结构如下:

  jianjie.dbf

  编号 字段名:bianhao size:4 type:number

  姓名 字段名:xingming size:10 type:character

  gongzi.dbf

  编号 字段名:bianhao size:4 type:number

  工资 字段名:gongzi size:4 Dec 2 type:number

  注意:两个数据库的bianhao字段的size、type必须一致。实际上,两数据库文件可以
分布在网络的不同计算机上,为便于演示,分别存为″c:/tes/jianjie.dbf″和
″c:/test/gongzi.dbf″。

二、应用程序的编制

  启动Delphi,新建一个工程,在窗体中加入Query控件Query1,databasename属性
设为c:/test;

  加入DataSource控件datasource1,DataSet属性设为Query1;加入DbGrid控件
dbgrid1,DataSource属性设为DataSource1,将Query1.sql属性设为

  SELECT DISTINCT A.bianhao,a.xingming, b.gongzi

  FROM ″jianjie.dbf″ A, ″gongzi.DBF″ b

  WHERE A.bianhao=b.bianhao

  再将Query1.enabled属性设为True,不用编译,DbGrid1就会显示:bianhao,
xingming,gongzi三个字段。如果jianjie.dbf和gongzi.dbf中有记录,
则记录会显示出来。因篇幅所限,此文只介绍了Dbgrid中显示多个数据库
内容的一般方法,读者可在此基础上进行完善,使该方法更好地适应您的需要。


 
 
多人接受答案了。
 
后退
顶部