當前位置:編程學習大全網 - 編程語言 - DELPHI基礎教程:數據訪問部件的應用及編程(壹)[1]

DELPHI基礎教程:數據訪問部件的應用及編程(壹)[1]

 在這壹章裏我們主要介紹Delphi的數據訪問部件的層次結構 多部件之間的關系 部件的屬性 方法 事件以及各部件的應用 這些部件包括

 ● TSession部件

 ● 數據集部件(TTable和TQuery)

 ● TDatasource部件

 ● 字段對象TField

 ● 字段編輯器的使用

 ● TReport部件和TBatchMove部件

 我們對這些部件的屬性 方法和事件進行壹般性的描述 讀者在實際使用Delphi開發應用程序時 還可以通過聯機幫助獲得有關部件更詳細的信息

  Delphi數據訪問部件的層次結構

 Delphi提供了強大的開發數據庫應用程序的能力 它給用戶提供了大量的數據訪問部件 以方便程序設計人員開發數據庫應用程序 這些部件中 有些部件繼承了另壹些部件的屬性 方法和事件 也就是說多部件之間存在著繼承和被繼承的關系 各部件的這種關聯便構成了壹個層次結構

 TSession是全局性的部件 在應用程序運行時 它自動地建立 在設計階段和運行過程中它是壹個不可見的部件

 TDatabase部件是為開發客戶/服務器數據庫應用程序時 設置登錄的數據庫的有關參數的 它在數據訪問部件頁上

 TDataset部件是不可見的 TTable和TQuery部件是由它派生而來的 這兩個部件壹般被稱為數據集部件 它們在數據訪問部件頁上

 TDatasource部件是連接數據集部件和數據瀏覽部件的橋梁 它在數據訪問部件頁上

 TFields部件對應於數據庫表中的實際字段 它既可以在應用程序的運行過程中動態地生成也可以在程序設計階段用字段編輯器創建 它是不可見的部件 在程序中我們可以通過TField部件來訪問數據庫記錄的各個字段值

  Tsession部件及其應用

 TSession部件壹般用得較少 但它對於壹些特殊的應用是很有用的 在每壹個數據庫應用程序運行時Delphi自動地創建壹個TSession部件 程序設計人既不能看見該部件也不能顯示地創建壹個TSession 部件 但是我們可以在應用程序中全局性地使用TSession部件的屬性 方法

  TSession部件的重要屬性及作用

 TSession部件的許多重要屬性是用於控制數據庫應用程序與數據庫的連接的 在壹個應用程序中 可以全局性地設置TSession的有關屬性值 對與之相連接的磁盤上的數據庫進行控制 TSession部件主要有下列屬性

 Database屬性 是TSession中可以進行連接的所有數據庫的數據庫名字列表 這些數據庫的名字常常是實際數據庫的別名 包括數據庫的路徑 用戶名 用戶登錄口令等參數

 DatabaseCount屬性 是TSession中可以進行連接的所有數據庫的數量 它是壹個整數

 KeepCounnections屬性 是壹個布爾型屬性 用它說明應用程序是否保持與壹個非活動數據庫的連接 因為對於壹個數據庫 當該數據庫中沒有相應的數據集部件(TTable或TQuery)被打開時 該數據庫將自動地變成非活動的數據庫 缺省情況下 KeePcounnections的值是True 就是說應用程序總是保持著與數據庫的連接 即使數據庫變成了非活動的數據庫時 也是如此 如果將KeepConnections屬性設置成False 那麽當數據庫由活動狀態變成非活動狀態時 應用程序與該數據庫的連接也隨之中斷

 NetFileDir屬性 說明BDE網絡控制文件的路徑名

 PrivateDir屬性 說明存取臨時文件的路徑名

  TSession部件的方法

 TSession部件中的大部分方法是用於向用戶提供與應用程序相連接的數據庫的信息 如數據庫的名字及別名 數據庫中的表名以及數據庫引擎BDE的有關參數等 在設計數據庫應用程序時 想要獲取有關數據庫的信息 調用TSession部件的下列方法 將會大大簡化程序的設計

 GetAliasNames方法 調用該方法 我們可以獲得數據庫引擎BDE中定義的數據庫別名

 GetAliasParams方法 該方法主要用於獲取我們在BDE中定義數據庫別名時所說明的參數值 如BDE所在的目錄路徑以及實際名稱等

 GetDatabaseNames 方法 調用該方法可以幫助我們獲得當前應用程序可以進行連接的所有數據庫的名字 數據庫的名字是用戶使用BDE工具定義的實際數據庫的別名

 GetDriverNames方法 數據庫引擎BDE可以與多種數據庫管理系統相連接 如客戶/服務器數據庫管理系統Oracle Sybase以及本地數據庫管理系統dBASE Paradox等 BDE與每壹種數據庫管理系統進行連接時 都有相應的驅動程序 而且這些驅動程序都可以選擇地安裝 通過調用GetDriverNames方法 我們可以獲得當前BDE安裝的數據庫驅動程序的名字

 GetDriverParams方法 BDE的數據庫驅動程序中包含著多個參數 如支持的民族語言 DBMS的版本號 文件塊大小等 對於服務器上的DBMS 還有數據庫服務器的名字等等

 GetTableNames方法 因為每壹個數據庫都是由多個數據庫表組成的 我們通過說明數據庫名 然後調用GetTableNames方法 便可以獲得該數據庫中全部的數據庫表的名字

 上述這些方法在調用時都需要壹個字符串列表作為參數 而且都返回壹個字符串列表的值

 TSession部件還有壹個叫DropConnections的方法用於控制應用程序與數據庫的連接 當調用DropConnections方法時 應用程序與所有的數據庫的連接將會切斷

  TSession部件應用舉例

 例 :我們創建壹個應用程序 通過調用TSession有關的方法獲取當前應用程序可以進行連接的數據庫的名字以及獲取其中任意壹個數據庫中的全部數據庫表的名字

 通過TSession部件獲取數據庫的有關信息

 窗體中主要使用了兩個列表框 其中列表框DatabaselistBox用於顯示數據庫的名字 列表框TablelistBox用於顯示數據庫中的表名 程序運行完後數據庫的名字顯示在DatabaselistBox列表框中 當用戶單擊DatabaselistBox列表框中的數據庫名時 該數據庫全部的數據庫表的名字將會顯示在TablelistBox列表框中 有關的程序代碼如下

lishixinzhi/Article/program/Delphi/201311/25161

  • 上一篇:走進《少兒畫苑》兒童畫,雲看大自然最美風景!
  • 下一篇:多線程編程第壹曲
  • copyright 2024編程學習大全網