我想打开a库中的a1表和b库中的b1表,并将他们建立一对一关系到一个datasets中,但adoconnect和adoquery中的connect只能选一个数据库,如何办?
我原来用vfp的自由表就可以,因为只要多个表放在同一个目录下就可以了。
我原来用vfp的自由表就可以,因为只要多个表放在同一个目录下就可以了。
解决方案 »
- 如何判断一个文件是否正在被使用???
- 连接mysql的问题……不是权限的问题,是密码如果包含了./;的字符就连不上
- Vstra下使用用户帐户控制(UAC)模式,对Delphi 7 编译的exe程序在读文件影响!!!
- sql问题
- 一个数据库的问题
- 请教这个功能的方法是如何实现的
- ◎◎◎◎请教个结婚过程问题!!!◎◎◎◎
- 怎么样实现用光标实现窗体里焦点在组件(比如说多个控钮)的转移?都来说说?
- 李维的《DELPHI 5.X 分布试多层应用系统篇》在哪里可以下载?
- Treenode的问题!!!!!!!!!!!!!!!!!!!!!!!!!!
- 快郁闷死我了,dbchart折线的问题,解决立刻给分!!!!!!!!!!!!!!!!!!!!!!!!!
- 如何先看见密码框,然后密码如正确看见MDI窗口
在access查询中没有问题
在vb中执行没有问题
在delphi 7的connection.execute中执行没有问题
就是在adoquery,adodataset中执行不可以,看来是delphi的BUG
搬个凳子坐着学习ing ……
select a.* from [e:\mytxl.mdb].txl a,txl b where a.id=b.id
connection.execute
在adodataset 或adoquery中可以按如下的方法写查询:
select b.* from txl as b,txl as a in 'e:\mytxl.mdb' where a.id=b.id and trim(a.txdz)<>''
注意,另外一个库的表必需写在后面,否则会报错
select b.* from txl as b,`e:\mytxl.mdb;pwd=111111`.txl AS a where a.id=b.id and trim(a.txdz)<>''
调试成功
注意:,`e:\mytxl.mdb;pwd=111111`的界定符为~下边的那个符号,不是单引号
pwd=111111为密码
conn.connectionstring:=format(connstr,[extractfilepath(application.exename)]) ;
conn.open
但adoquery的connectstring只允许打开一个数据库
在Delphi5.0,Access2000下通过
在access中建立视图(或者叫查询,不知道你们习惯什么),例如:SELECT a1.*, a2.*
FROM [db1].a AS a1, [db2].b AS a2;比如这个表叫 view_1 视图建立在db1中或者db2中都可以。然后ado连接那个数据库,选择这个查询表就ok了