?? 045.htm
字號(hào):
<p> </font><font face="宋體" lang="ZH-CN"></p>
<p> 當(dāng)控制從數(shù)據(jù)庫(kù)注冊(cè)事件處理過(guò)程中返回時(shí),這些參數(shù)被用來(lái)建立聯(lián)接。</p>
<p> </font><font face="Arial"></p>
<p>18.3.1.3 </font><font face="宋體" lang="ZH-CN">建立應(yīng)用程序特定的別名</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">描述了數(shù)據(jù)庫(kù)表的位置和數(shù)據(jù)庫(kù)服務(wù)器的聯(lián)接參數(shù)。通常都是在</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">之外,運(yùn)用</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">配置工具</font><font
face="Arial">(BDECFG32.EXE)</font><font face="宋體" lang="ZH-CN">創(chuàng)建別名,并且別名被存在</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">創(chuàng)建只在應(yīng)用程序中可用的別名,用</font><font face="Arial">TDatabase
</font><font face="宋體" lang="ZH-CN">創(chuàng)建的別名不會(huì)加進(jìn)</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">配置文件中。任何</font><font
face="Arial">DataSet</font><font face="宋體" lang="ZH-CN">部件可通過(guò)描述</font><font
face="Arial">DatabaseName </font><font face="宋體" lang="ZH-CN">屬性來(lái)使用這些別名。為了定制這些局部別名的參數(shù),用鼠標(biāo)左鍵雙擊</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">就會(huì)打開(kāi)數(shù)據(jù)庫(kù)屬性編輯器</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">控制數(shù)據(jù)庫(kù)的聯(lián)接</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">部件是否建立與數(shù)據(jù)庫(kù)服務(wù)器的聯(lián)接。當(dāng)應(yīng)用程序打開(kāi)數(shù)據(jù)庫(kù)中的表時(shí),</font><font
face="Arial">Connected</font><font face="宋體" lang="ZH-CN">被設(shè)置為</font><font
face="Arial">True</font><font face="宋體" lang="ZH-CN">。將</font><font face="Arial">Connected
</font><font face="宋體" lang="ZH-CN">設(shè)為</font><font face="Arial">True</font><font
face="宋體" lang="ZH-CN">就建立了數(shù)據(jù)庫(kù)的聯(lián)接。</p>
<p> </font><font face="Arial">1. </font><font face="宋體" lang="ZH-CN">保持?jǐn)?shù)據(jù)庫(kù)聯(lián)接</p>
<p> </font><font face="Arial">TDatabase</font><font face="宋體" lang="ZH-CN">的</font><font
face="Arial">KeepConnection</font><font face="宋體" lang="ZH-CN">屬性描述當(dāng)沒(méi)有數(shù)據(jù)庫(kù)表打開(kāi)時(shí)是否要與保持?jǐn)?shù)據(jù)庫(kù)的聯(lián)接。</p>
<p> 如果應(yīng)用程序需要在單個(gè)數(shù)據(jù)庫(kù)中多次打開(kāi)關(guān)閉多個(gè)表時(shí),將</font><font
face="Arial">KeepConnection </font><font face="宋體" lang="ZH-CN">置為</font><font
face="Arial">True</font><font face="宋體" lang="ZH-CN">能使應(yīng)用程序具備更好的性能。</p>
<p> 當(dāng)</font><font face="Arial">KeepConnection</font><font face="宋體"
lang="ZH-CN">為</font><font face="Arial">True</font><font face="宋體" lang="ZH-CN">時(shí),即使沒(méi)有表打開(kāi),應(yīng)用程序也能保持?jǐn)?shù)據(jù)庫(kù)的聯(lián)接。那么就能重復(fù)打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)表而不需每次進(jìn)行聯(lián)接注冊(cè)。</p>
<p> </font><font face="Arial">2. </font><font face="宋體" lang="ZH-CN">使用</font><font
face="Arial">TSesstion</font><font face="宋體" lang="ZH-CN">控制聯(lián)接</font><font
face="Arial"></p>
<p></font><font face="宋體" lang="ZH-CN"> </font><font face="Arial">TSesstion</font><font
face="宋體" lang="ZH-CN">部件有一個(gè)面向整個(gè)應(yīng)用程序的</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">部件的數(shù)據(jù)庫(kù)聯(lián)接都是持久的。</p>
<p> </font><font face="Arial">TSession</font><font face="宋體" lang="ZH-CN">為應(yīng)用程序提供數(shù)據(jù)庫(kù)聯(lián)接的全局控制。</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">中所有活躍數(shù)據(jù)庫(kù)組成的數(shù)組,</font><font
face="Arial">DatabasesCount</font><font face="宋體" lang="ZH-CN">屬性描述活躍數(shù)據(jù)庫(kù)的數(shù)目。</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">網(wǎng)絡(luò)控制目錄的路徑。</font><font
face="Arial">TSession</font><font face="宋體" lang="ZH-CN">的</font><font face="Arial">PrivateDir</font><font
face="宋體" lang="ZH-CN">屬性描述存儲(chǔ)諸述處理局部</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">表達(dá)式的臨時(shí)文件的目錄的路徑。</p>
<p> </font><font face="Arial"></p>
<p>18.3.1.5 </font><font face="宋體" lang="ZH-CN">獲取數(shù)據(jù)庫(kù)信息</p>
<p> </p>
<p> </font><font face="Arial">TSession</font><font face="宋體" lang="ZH-CN">擁有許多讓用戶獲取數(shù)據(jù)庫(kù)有關(guān)的信息,每個(gè)方法都以</font><font
face="Arial">TStringList </font><font face="宋體" lang="ZH-CN">部件作為傳入?yún)?shù),并將信息返回</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">中的參數(shù),并將所有已定義的</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">別名的名字寫(xiě)入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。應(yīng)用程序生成的別名不包括在內(nèi)。</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">的內(nèi)容,并將</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">別名為</font><font face="Arial">AliaName</font><font
face="宋體" lang="ZH-CN">的參數(shù)寫(xiě)入</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">的內(nèi)容并將所有</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">別名和應(yīng)用程序定義的別名的名字寫(xiě)入</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">中的內(nèi)容,并將</font><font
face="Arial">BDE</font><font face="宋體" lang="ZH-CN">當(dāng)前安裝的驅(qū)動(dòng)程序名寫(xiě)入</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">中的內(nèi)容,并將名為</font><font
face="Arial">DriveName</font><font face="宋體" lang="ZH-CN">驅(qū)動(dòng)程序缺省參數(shù)寫(xiě)入</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">中的內(nèi)容,并將名為</font><font
face="Arial">DatabaseName</font><font face="宋體" lang="ZH-CN">的數(shù)據(jù)庫(kù)中的所有表的名字寫(xiě)入</font><font
face="Arial">List</font><font face="宋體" lang="ZH-CN">。</font><font face="Arial">Pattern</font><font
face="宋體" lang="ZH-CN">參數(shù)將限制表名。對(duì)于</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">服務(wù)器,將</font><font face="Arial">SystemeTables</font><font
face="宋體" lang="ZH-CN">設(shè)為</font><font face="Arial">True</font><font face="宋體"
lang="ZH-CN">將獲取系統(tǒng)表和用戶表。對(duì)非</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">數(shù)據(jù)庫(kù),將</font><font face="Arial">Extensions</font><font
face="宋體" lang="ZH-CN">設(shè)為</font><font face="Arial">True</font><font face="宋體"
lang="ZH-CN">將在表名中包含擴(kuò)展名。</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">事務(wù)控制</p>
<p> </p>
<p> 使用隱式控制和顯示控制的數(shù)據(jù)庫(kù)應(yīng)用中有兩種方法管理事務(wù)控制:</font><font
face="Arial"></p>
<p></font><font face="宋體" lang="ZH-CN"> ●</font><font face="Arial"> </font><font
face="宋體" lang="ZH-CN">運(yùn)用</font><font face="Arial">TDatabase</font><font
face="宋體" lang="ZH-CN">部件的屬性和方法進(jìn)行顯式控制</p>
<p> </font><font face="Arial"> </font><font face="宋體" lang="ZH-CN">●</font><font
face="Arial"> </font><font face="宋體" lang="ZH-CN">運(yùn)用</font><font face="Arial">TQuery</font><font
face="宋體" lang="ZH-CN">部件的傳遞式</font><font face="Arial">SQL</font><font
face="宋體" lang="ZH-CN">控制事務(wù)</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">表的局部事務(wù)處理</p>
<p> </font><font face="Arial"></p>
<p>18.3.2.1 </font><font face="宋體" lang="ZH-CN">事務(wù)控制概述</p>
<p> </p>
<p> 當(dāng)用</font><font face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用時(shí),</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">提供了用為所有數(shù)據(jù)庫(kù)訪問(wèn)的事務(wù)控制。</p>
<p> 事務(wù)是這樣一組操作,在被提交前,它們對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的操作,必須全部執(zhí)行成功。如果其中一個(gè)操作失敗,則所有操作失敗,即事務(wù)具有原子性。</p>
<p> 即使發(fā)生硬件失敗,事務(wù)也要保證數(shù)據(jù)庫(kù)一致性。當(dāng)允許多用戶并發(fā)訪問(wèn)時(shí),事務(wù)還要維持?jǐn)?shù)據(jù)完整性。</p>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -