?? 045.htm
字號:
<p> </font><font face="宋體" lang="ZH-CN"></p>
<p> 當控制從數據庫注冊事件處理過程中返回時,這些參數被用來建立聯接。</p>
<p> </font><font face="Arial"></p>
<p>18.3.1.3 </font><font face="宋體" lang="ZH-CN">建立應用程序特定的別名</p>
<p> </p>
<p> </font><font face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">的</font><font
face="Arial">Aliases</font><font face="宋體" lang="ZH-CN">描述了數據庫表的位置和數據庫服務器的聯接參數。通常都是在</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">之外,運用</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">配置工具</font><font
face="Arial">(BDECFG32.EXE)</font><font face="宋體" lang="ZH-CN">創建別名,并且別名被存在</font><font
face="Arial">BDE </font><font face="宋體" lang="ZH-CN">配置文件</font><font
face="Arial">IDAPI32.CFG</font><font face="宋體" lang="ZH-CN">中。</p>
<p> 用戶也可以用</font><font face="Arial">TDatabase</font><font face="宋體"
lang="ZH-CN">創建只在應用程序中可用的別名,用</font><font face="Arial">TDatabase
</font><font face="宋體" lang="ZH-CN">創建的別名不會加進</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">配置文件中。任何</font><font
face="Arial">DataSet</font><font face="宋體" lang="ZH-CN">部件可通過描述</font><font
face="Arial">DatabaseName </font><font face="宋體" lang="ZH-CN">屬性來使用這些別名。為了定制這些局部別名的參數,用鼠標左鍵雙擊</font><font
face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">部件或從</font><font
face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">部件中選擇</font><font
face="Arial">Database Editor</font><font face="宋體" lang="ZH-CN">,</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">就會打開數據庫屬性編輯器</font><font
face="Arial">(Database Properties Editor)</font><font face="宋體" lang="ZH-CN">。</p>
<p> </font><font face="Arial"></p>
<p>18.3.1.4 </font><font face="宋體" lang="ZH-CN">控制數據庫的聯接</p>
<p> </p>
<p> </font><font face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">部件的</font><font
face="Arial">Connected</font><font face="宋體" lang="ZH-CN">屬性,指示</font><font
face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">部件是否建立與數據庫服務器的聯接。當應用程序打開數據庫中的表時,</font><font
face="Arial">Connected</font><font face="宋體" lang="ZH-CN">被設置為</font><font
face="Arial">True</font><font face="宋體" lang="ZH-CN">。將</font><font face="Arial">Connected
</font><font face="宋體" lang="ZH-CN">設為</font><font face="Arial">True</font><font
face="宋體" lang="ZH-CN">就建立了數據庫的聯接。</p>
<p> </font><font face="Arial">1. </font><font face="宋體" lang="ZH-CN">保持數據庫聯接</p>
<p> </font><font face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">的</font><font
face="Arial">KeepConnection</font><font face="宋體" lang="ZH-CN">屬性描述當沒有數據庫表打開時是否要與保持數據庫的聯接。</p>
<p> 如果應用程序需要在單個數據庫中多次打開關閉多個表時,將</font><font
face="Arial">KeepConnection </font><font face="宋體" lang="ZH-CN">置為</font><font
face="Arial">True</font><font face="宋體" lang="ZH-CN">能使應用程序具備更好的性能。</p>
<p> 當</font><font face="Arial">KeepConnection</font><font face="宋體"
lang="ZH-CN">為</font><font face="Arial">True</font><font face="宋體" lang="ZH-CN">時,即使沒有表打開,應用程序也能保持數據庫的聯接。那么就能重復打開和關閉數據庫表而不需每次進行聯接注冊。</p>
<p> </font><font face="Arial">2. </font><font face="宋體" lang="ZH-CN">使用</font><font
face="Arial">TSesstion</font><font face="宋體" lang="ZH-CN">控制聯接</font><font
face="Arial"></p>
<p></font><font face="宋體" lang="ZH-CN"> </font><font face="Arial">TSesstion</font><font
face="宋體" lang="ZH-CN">部件有一個面向整個應用程序的</font><font
face="Arial">KeepConnections</font><font face="宋體" lang="ZH-CN">屬性。如果</font><font
face="Arial">Session.KeepConnections</font><font face="宋體" lang="ZH-CN">為</font><font
face="Arial">True</font><font face="宋體" lang="ZH-CN">,那么用于所有</font><font
face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">部件的數據庫聯接都是持久的。</p>
<p> </font><font face="Arial">TSession</font><font face="宋體" lang="ZH-CN">為應用程序提供數據庫聯接的全局控制。</font><font
face="Arial">TSession</font><font face="宋體" lang="ZH-CN">中的</font><font
face="Arial">Databases </font><font face="宋體" lang="ZH-CN">屬性是</font><font
face="Arial">Session</font><font face="宋體" lang="ZH-CN">中所有活躍數據庫組成的數組,</font><font
face="Arial">DatabasesCount</font><font face="宋體" lang="ZH-CN">屬性描述活躍數據庫的數目。</p>
<p> </font><font face="Arial">3. </font><font face="宋體" lang="ZH-CN">描述</font><font
face="Arial">Net</font><font face="宋體" lang="ZH-CN">和</font><font face="Arial">Private</font><font
face="宋體" lang="ZH-CN">目錄</p>
<p> </font><font face="Arial">TSession</font><font face="宋體" lang="ZH-CN">的</font><font
face="Arial">NetFileDir</font><font face="宋體" lang="ZH-CN">屬性描述</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">網絡控制目錄的路徑。</font><font
face="Arial">TSession</font><font face="宋體" lang="ZH-CN">的</font><font face="Arial">PrivateDir</font><font
face="宋體" lang="ZH-CN">屬性描述存儲諸述處理局部</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">表達式的臨時文件的目錄的路徑。</p>
<p> </font><font face="Arial"></p>
<p>18.3.1.5 </font><font face="宋體" lang="ZH-CN">獲取數據庫信息</p>
<p> </p>
<p> </font><font face="Arial">TSession</font><font face="宋體" lang="ZH-CN">擁有許多讓用戶獲取數據庫有關的信息,每個方法都以</font><font
face="Arial">TStringList </font><font face="宋體" lang="ZH-CN">部件作為傳入參數,并將信息返回</font><font
face="Arial">TStringList</font><font face="宋體" lang="ZH-CN">中。</p>
<p> </font><font face="Arial">1. GetAliasNames</font><font face="宋體" lang="ZH-CN">方法</p>
<p> 聲明:</font><font face="Arial">procedure GetAliasNames(List: TStringList);</font><font
face="宋體" lang="ZH-CN"></p>
<p> </font><font face="Arial">GetAliasNames</font><font face="宋體" lang="ZH-CN">方法消除</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">中的參數,并將所有已定義的</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">別名的名字寫入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。應用程序生成的別名不包括在內。</p>
<p> </font><font face="Arial">2. GetAliasParams</font><font face="宋體"
lang="ZH-CN">方法</p>
<p> 聲明:</font><font face="Arial">procedure GetAliasParams(const AliasName:
String; List: TStringList);</p>
<p>GetAliasParams</font><font face="宋體" lang="ZH-CN">方法清除</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">的內容,并將</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">別名為</font><font face="Arial">AliaName</font><font
face="宋體" lang="ZH-CN">的參數寫入</font><font face="Arial">List</font><font
face="宋體" lang="ZH-CN">。</p>
<p> </font><font face="Arial">3. GetDatabaseNames</font><font face="宋體"
lang="ZH-CN">方法</p>
<p> 聲明:</font><font face="Arial">procedure GetDatabaseNames(List: TStrings);</p>
<p>GetDatabaseNames</font><font face="宋體" lang="ZH-CN">方法清除</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">的內容并將所有</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">別名和應用程序定義的別名的名字寫入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。</font><font face="Arial"></p>
<p>4. GetDriverNames</font><font face="宋體" lang="ZH-CN">方法</p>
<p> 聲明:</font><font face="Arial">procedure GetDriverNames(List: TStrings);</font><font
face="宋體" lang="ZH-CN"></p>
<p> </font><font face="Arial">GetDriverNames</font><font face="宋體" lang="ZH-CN">方法清除</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">中的內容,并將</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">當前安裝的驅動程序名寫入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。</p>
<p> </font><font face="Arial">5. GetDriverParams</font><font face="宋體"
lang="ZH-CN">方法</p>
<p> 聲明:</font><font face="Arial">procedure GetDriverParams(const DriverName:
String; List: TStrings);</font><font face="宋體" lang="ZH-CN"></p>
<p> </font><font face="Arial">GetDriverParams</font><font face="宋體" lang="ZH-CN">方法消除</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">中的內容,并將名為</font><font
face="Arial">DriveName</font><font face="宋體" lang="ZH-CN">驅動程序缺省參數寫入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。</p>
<p> </font><font face="Arial">6. GetTableNames</font><font face="宋體" lang="ZH-CN">方法</p>
<p> 聲明:</font><font face="Arial">procedure GetTableNames(const DatabaseName,
Pattern: Strings;</p>
<p>Extensions, SystemTable: Boolean; List: TStrings);</font><font face="宋體"
lang="ZH-CN"></p>
<p> </font><font face="Arial">GetTableNames</font><font face="宋體" lang="ZH-CN">方法消除</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">中的內容,并將名為</font><font
face="Arial">DatabaseName</font><font face="宋體" lang="ZH-CN">的數據庫中的所有表的名字寫入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。</font><font face="Arial">Pattern</font><font
face="宋體" lang="ZH-CN">參數將限制表名。對于</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">服務器,將</font><font face="Arial">SystemeTables</font><font
face="宋體" lang="ZH-CN">設為</font><font face="Arial">True</font><font face="宋體"
lang="ZH-CN">將獲取系統表和用戶表。對非</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">數據庫,將</font><font face="Arial">Extensions</font><font
face="宋體" lang="ZH-CN">設為</font><font face="Arial">True</font><font face="宋體"
lang="ZH-CN">將在表名中包含擴展名。</p>
<p> </font><font face="Arial"></p>
<p>18.3.2 </font><font face="宋體" lang="ZH-CN">處理</font><font face="Arial">Client/Server</font><font
face="宋體" lang="ZH-CN">事務控制</p>
<p> </p>
<p> 使用隱式控制和顯示控制的數據庫應用中有兩種方法管理事務控制:</font><font
face="Arial"></p>
<p></font><font face="宋體" lang="ZH-CN"> ●</font><font face="Arial"> </font><font
face="宋體" lang="ZH-CN">運用</font><font face="Arial">TDatabase</font><font
face="宋體" lang="ZH-CN">部件的屬性和方法進行顯式控制</p>
<p> </font><font face="Arial"> </font><font face="宋體" lang="ZH-CN">●</font><font
face="Arial"> </font><font face="宋體" lang="ZH-CN">運用</font><font face="Arial">TQuery</font><font
face="宋體" lang="ZH-CN">部件的傳遞式</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">控制事務</p>
<p> </p>
<p> </font><font face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">還支持</font><font
face="Arial">Paradox</font><font face="宋體" lang="ZH-CN">和</font><font face="Arial">dBASE</font><font
face="宋體" lang="ZH-CN">表的局部事務處理</p>
<p> </font><font face="Arial"></p>
<p>18.3.2.1 </font><font face="宋體" lang="ZH-CN">事務控制概述</p>
<p> </p>
<p> 當用</font><font face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">創建數據庫應用時,</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">提供了用為所有數據庫訪問的事務控制。</p>
<p> 事務是這樣一組操作,在被提交前,它們對一個或多個數據庫的操作,必須全部執行成功。如果其中一個操作失敗,則所有操作失敗,即事務具有原子性。</p>
<p> 即使發生硬件失敗,事務也要保證數據庫一致性。當允許多用戶并發訪問時,事務還要維持數據完整性。</p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -