⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 creating heterogenous queries.htm

📁 宇宙中最强悍的Delphi资料专辑宇宙中最强悍的Delphi资料专辑
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>Creating heterogenous queries</title>
</head>

<body>

<table border="0" width="100%" style="font-size: 9pt">
  <tr>
    <td width="100%"><strong>异构查询</strong><br>
    &nbsp;&nbsp;&nbsp; Delphi支持异构查询。所谓异构查询,就是同时查询几个不同的数据库。这些数据库可以位于不同的服务器上,甚至服务器的类型也可以不同。比如,可以同时查询Oracle数据库、Sybase数据库和本地的dBASE表。当程序执行异构查询的时候,BDE通过Local 
    SQL来分析和处理这个查询。正因为如此,所以与服务器相关的特定的SQL语法不支持。<br>
    <br>
    &nbsp;&nbsp;&nbsp; 要执行异构查询,可以:<br>
    &nbsp;&nbsp;&nbsp; (1)为查询要访问的数据库建立不同的BDE别名。把一个TQuery构件放到数据模块上,DatabaseName属性为空。查询要使用的不同数据库将在SQL属性中指定。<br>
    &nbsp;&nbsp;&nbsp; (2)在SQL属性中指定要执行的SQL语句。在SQL语句中,每个数据表的名称前要加数据库的别名。别名和数据表之间要加冒号,并且用双引号括起来。<br>
    &nbsp;&nbsp;&nbsp; (3)在Params属性中指定查询的参数<br>
    &nbsp;&nbsp;&nbsp; (4)调用Prepare通知BDE或服务器做好准备<br>
    &nbsp;&nbsp;&nbsp; (5)调用Open或ExecSQL执行查询<br>
    <br>
    &nbsp;&nbsp;&nbsp; 比如,在Oracle数据库中有一个CUSTOMER数据表,Oracle数据库的别名是Oracle1;在Sybase数据库中有一个Orders数据表,Sybase数据库的别名是Sybase1;那么,一个简单的异构查询如下所示:<br>
    &nbsp;&nbsp;&nbsp; SELECT Customer.CustNo, Orders.OrderNo <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM &quot;Oracle1:CUSTOMER&quot;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JOIN &quot;Sybase1:ORDERS&quot;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ON (Customer.CustNo = Orders.CustNo)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE (Customer.CustNo = 1503)<br>
    &nbsp;&nbsp;&nbsp; 
    在异构查询中除了使用“别名”外,也可以指定一个数据库。可以使用一个TDatabase构件,设置TDatabase构件的DatabaseName属性为应用程序专用的别名,在SQL语句中可以用专用的别名代替BDE别名。<hr
    size="1">
    <p align="center"><a href="mailto:ilovedelphi@163.net">RainBow</a>策划制作 
    版权所有</td>
  </tr>
</table>

<p> </p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -