- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十八章 利用dbExpress開發 資料庫程式 dbExpress為C++ Builder 6後才新增加的資料庫連結方式,透過一系列輕量級的驅動程式來達到和資料庫快速連結的目的,而最主要的目的則是為了和Kylix相容。Kylix為Borland推出的Linux平台下程式開發軟體,透過C++或Object Pascal語法的使用讓C++ Builder/Delphi的使用者能快速的開發或移植程式到Linux平台上,做到Write Once, Run Everywhere的最終目標,所以dbExpress的推出主要在克服BDE、ADO不相容於Linux的缺點,此外,dbExpress連結方式也因為具有免事先設定、攜帶容易、速度快和消耗資源少等優點而成為Borland公司目前全力支援的連結架構。 大綱 18-1 dbExpress連結簡介 18-2 SQLConnection元件 18-3 SQLDataSet元件 18-4 SQLQeury元件 18-5 SQLTable元件 18-6 SQLMonitor元件的使用 18-1. dbExpress連結簡介 dbExpress因為在效能和使用上都有不錯的表現而成為Borland公司目前全力支持的連結方式,不論是Delphi、Kylix和C++ Builder 都可以看到該連結元件的蹤影,而對於要開發能適用於Windows和Linux兩個作業系統下資料庫程式的程式設計師來說,使用dbExpress更是目前唯一可行的方式,和傳統的BDE連結方式相比,該架構最大的不同在於採用單向指標和取消了緩衝記憶體的使用,而非過去的靠緩衝儲存器輔助來實作雙向指標,雖然換來效能上的提昇,但也相對了增加一些使用上的限制,底下為該架構和傳統BDE所不同的地方 只支援資料集合中的First和Next方法。因為單向指標的限制導致指標在資料集合內只能單向的往下移動和回到第一筆資料的位置,而無法像雙向指標可以自由的往上或往下移動指標。 18-1. dbExpress連結簡介 沒有對編輯模式的內建支援。因為過去對資料集合內記錄的修改(Edit方法)需要額外緩衝記憶體的支援來儲存這些修改動作,但是由於dbExpress本身並沒有使用到緩衝記憶體,所以自然無法執行過去的編輯模式,而解決方式則是使用SQL語法中的Update來直接進行修改的動作,或是透過其他使用緩衝記憶體的元件來輔助,如連結資料集合至ClientDataSet元件。 不支援資料集合內的Filter屬性,也就是說無法對傳回來的資料集合設定過濾條件,因為過濾器的使用同樣也需要緩衝記憶體的支援,所以當你在dbExpress連結方式中使用Filter屬性將會觸發例外處理的產生,解決的方式是使用SQL語法直接對遠端資料庫下過濾條件的設定,而非等資料集合已經形成後再進行篩選的動作。 不支援Lookup欄位的設定,因為Lookup欄位同樣需要使用緩衝記憶體來儲存相關的欄位值。 18-1. dbExpress連結簡介 綜合以上的使用限制可以知道,所有用到緩衝記憶體的資料集合屬性和方法在dbExpress下是不被允許的,所以對於需要緩衝記憶體輔助的感知元件當然也無法使用,包括最為熟知的DBGrid、DBLookupListBox和DBLookupComboBox等元件,不過,如果不考慮這些限制的話,dbExpress因為單向指標的使用而成為C++ Builder下最快速的資料連結機制,且在使用和安裝部署上亦是最為簡單的。 所有dbExpress元件皆位在元件樣版內的dbExpress頁次中,功能不外乎和資料庫相連、對資料庫進行存取和傳回指向資料集合的單向指標。 18-1. dbExpress連結簡介 簡略介紹各元件功能如下: SQLConnection元件 負責使用dbExpress連結方式和資料庫建立連結的管道,如果讀者熟悉ADO元件的話,該元件的功能類似ADOConnection。 SQLDataSet元件 C++ Builder提供的四個單向資料集合元件之一,同時也是四個之中最一般化的元件,不論有無回傳資料集合的指令皆可透過CommandText屬性的指定加以執行,相當類似於ADODataSet元件的使用方式。 SQLTable元件 讀取表格為主的資料集合元件,透過指定表格名稱的方式來讀取資料,而回傳的資料集合僅能透過First和Next方法進行檢視。 18-1. dbExpress連結簡介 SQLQuery元件 查詢形式的資料集合元件,也就是完全透過SQL語法的方式對資料庫下執行指令,包括回傳資料集合的Select指令或是沒有回傳集合的DDL語法。 SQLStoredProc元件 該元件的功能在於執行資料庫內定義的Stored Procedur
文档评论(0)