Enabled屬性當數據浏覽部件連接到數據集部件時它的Enabled屬性決定了數據浏覽部件能否接受來自鼠標鍵盤和定時器事件的消息當Enabled屬性值為False時數據浏覽部件將變為無效而不能接受外界的信息當與數據浏覽部件相連的TDataSource部件的Enabled屬性為False時或與數據源部件TDataSource部件相連的數據集部件TTable或TQuery部件的Active屬性為False時數據浏覽部件也會隨之而變為無效
ReadOnly屬性大多數的數據浏覽部件能夠用來編輯修改與之對應的字段因而有ReadOnly屬性該屬性用來控制是否可以在數據浏覽中編輯修改字段的值缺省情況下該屬性的值為False也就是說用戶可以在其中編輯修改字段的值
當然用戶要想通過數據浏覽部件編輯修改數據庫表中的記錄字段時還要受到其它因素的制約除了數據浏覽部件本身的ReadOnly屬性設置為False外還要設置其相應的字段部件和數據集部件的CanModify屬性True性設置TDataSource部件的AutoEdit屬性為True如果數據庫表是SQL數據庫服務器中的數據庫表用戶必須要具有讀寫數據庫的權限等當然在實際的程序設計過程中並沒有這樣繁瑣因為很多屬性的缺省值都是允許用戶修改表中的記錄的
除了TDBGrid部件之外如果通過一個數據浏覽部件修改字段值那麼當光標(或焦點)離開數據浏覽部件時數據浏覽部件中被修改的值就會自動地被寫回到磁盤數據庫中若在焦點沒有離開數據浏覽部件之前按ESC鍵那麼Delphi會自動地放棄其對字段值的修改在TDBGrid部件中修改表中的記錄時只有當焦點離開當前的記錄時即記錄指針移到其他記錄上時用戶對當前記錄的修改會被寫回磁盤上的數據庫表在焦點沒有離開當前記錄時按ESC鍵Delphi會自動放棄對當前記錄的修改
使用TDBText部件顯示表中的數據
TDBText部件是一個只讀的數據浏覽部件它類似於TLabel部件只是TDBText 部件用於顯示數據庫表中記錄的指定字段的值因為TDBText部件顯示的是表中當前記錄的指定的字段的值因而它顯示的內容也是動態的在其中顯示的內容隨著記錄指針的移動而變化用TDBText部件顯示CustomerDB表中的Company字段信息時可用如圖所示的窗體來實現
其中各部件的屬性設置如表所示
表 表中各部件的屬性設置
━━━━━━━━━━━━━━━━━━━
屬 性 屬 性 值
───────────────────
TableDatabaseName DEMOS
TableTableName CustomerDB
DatasourceDataSet Table
DBTextDataSource DataSource
DBTextDBField Company
━━━━━━━━━━━━━━━━━━━
使用TDBEdit部件顯示和編輯表中的數據
TDBEdit部件是專門用於顯示編輯數據庫表中當前記錄的各個字段值的數據浏覽部件在應用程序中我們常常用一個TDBEdit部件來對應表中一個字段通過設置TDBEdit部件的DataSourceDataField屬性便可以為TDBEdit部件指定表中相應的字段如果用戶希望能通過TDBEdit部件編輯修改數據庫表中的字段值還要設置TDBEdit部件的ReadOnly屬性為False設置與TDBEdit相連的數據源部件TdataSource部件的AutoEdit屬性為True以及確保與TDataSource部件相連的數據集部件TTable或TQuery部件處於編輯狀態即設置它們的CanModify屬性為True
例如在圖所示的窗體中使用多個TDBEdit部件顯示和編輯CustomerDB表中當前記錄的各個字段窗體中各部件的屬性如表所示
圖 用TDBEdit部件顯示和編輯表中的數據
表 窗體中各部件的屬性
━━━━━━━━━━━━━━━━━━━━
屬 性 屬 性 值
────────────────────
TableDatabaseName DEMOS
TableTableName CustomerDB
DatasourceDataSet Table
DataSourceAutoEdit True
DBNavigatorDataSource DataSource
━━━━━━━━━━━━━━━━━━━━
窗體中其它部件都是TLabel部件和TDBEdit部件TLabel部件用於顯示表中各字段的名字TDBEdit部件對應表中各個字段程序運行之後如圖所示用戶可以在其中任何一個TDBEdit部件中修改其中的字段值
用TDBEdit部件顯示和修改表中的數據
窗體中還使用了一個TDBNavigator部件使用它的目的是在表中移動記錄指針還可以進行修改插入刪除記錄等操作具體的使用和操作參看 TDBNaigator部件的使用一節
用TDBGrid部件顯示和編輯表中的數據
TDBGrid部件和TDBEdit部件一樣它們是專門用來顯示和編輯數據庫表中的數據的但TDBGrid部件的功能更強大一些它可以以網格的形式顯示數據庫表中全部記錄的所有字段信息
用TDBGrid顯示數據庫表中的記錄信息
返回目錄DELPHI基礎教程
編輯推薦
Java程序設計培訓視頻教程
JEE高級框架實戰培訓視頻教程
Visual C++音頻/視頻技術開發與實戰
Oracle索引技術
ORACLEG數據庫開發優化指南
Java程序性能優化讓你的Java程序更快更穩定
C嵌入式編程設計模式
Android游戲開發實踐指南
[] []
From:http://tw.wingwit.com/Article/program/Delphi/201311/25152.html