使用ADO控件访问不同的数据库(200分)

  • 主题发起人 主题发起人 FlyingKing
  • 开始时间 开始时间
F

FlyingKing

Unregistered / Unconfirmed
GUEST, unregistred user!
在原来的bde中,可以用两个database来设置databasename,然后用query来实现多库查询,例如
SELECT Table1.Code,Table2.Name from ":Database1:Table1",":database2:Table2" WHERE ...
但是在ADOQuery中似乎没有办法实现上面的功能,请问如何解决?
 
標題與內容不符我就不回答了!不過分還是要給我的!
 
多库查询应该是Sql的问题,跟数据库连接方式没有关系,
写法如下:
Select Table1.Code,Table2.Name from DataBase1..Table1,
DataBase2..Table2 where ...
以上sql可以在MS-SQLServer7中实现。
 
也许我的意思没有说的很明白,使用他Tquery时以上的语句自然可以实现,
但你把它放到TADOQuery中就没有办法实现了,假如一个是SQL数据库,
另一个是delphi自带的数据库,你说怎么办?
 
通用的多库查询是BDE的功能,ADO自然不行。
某些环境下可以有变通方法,比如,如果其中一个是sql server,
那么可以用OpenRowSet(...),你可以查一下T-SQL的帮助。
 
这在SQL SERVER上自然可以,但在DELPHI中提示出错“FROM子句语法错误”,不知温柔一刀
兄能否说的明白一些。
 
即:如果两个数据库都是SQL SERVER就可以用ADOQUERY实现
 
>>FROM子句语法错误
你的query是passthru sql么?
或者用了requestlive=true?

如果是纯粹传给sql server执行的sql,
与sql server中直接执行应该是100%兼容的(我暂时没碰到过例外)。
 
多表查询,我一般用存储过程!
 
看样子是没办法了。
 
后退
顶部