全國計算機(jī)等級考試二級Delphi輔導(dǎo)講義 162

字號:

16.3 使用TDBEdit部件顯示和編輯表中的數(shù)據(jù)
    TDBEdit部件是專門用于顯示編輯數(shù)據(jù)庫表中當(dāng)前記錄的各個字段值的數(shù)據(jù)瀏覽部件,在應(yīng)用程序中,我們常常用一個TDBEdit部件來對應(yīng)表中一個字段,通過設(shè)置TDBEdit部件的DataSource、DataField屬性便可以為TDBEdit部件指定表中相應(yīng)的字段。如果用戶希望能通過TDBEdit部件編輯修改數(shù)據(jù)庫表中的字段值,還要設(shè)置TDBEdit部件的ReadOnly屬性為False,設(shè)置與TDBEdit相連的數(shù)據(jù)源部件TdataSource部件的AutoEdit屬性為True以及確保與TDataSource部件相連的數(shù)據(jù)集部件TTable或TQuery部件處于編輯狀態(tài),即設(shè)置它們的CanModify屬性為True。
    例如,在圖16.3所示的窗體中,使用多個TDBEdit部件顯示和編輯Customer.DB表中當(dāng)前記錄的各個字段。窗體中各部件的屬性如表16.3所示。
    圖16.3 用TDBEdit部件顯示和編輯表中的數(shù)據(jù)
    表16.3 窗體中各部件的屬性
    ━━━━━━━━━━━━━━━━━━━━
    屬 性 屬 性 值
    ────────────────────
    Table1.DatabaseName DEMOS
    Table1.TableName Customer.DB
    Datasource.DataSet Table1
    DataSource.AutoEdit True
    DBNavigator.DataSource DataSource1
    ━━━━━━━━━━━━━━━━━━━━
    窗體中其它部件都是TLabel部件和TDBEdit部件,TLabel部件用于顯示表中各字段的名字,TDBEdit部件對應(yīng)表中各個字段。程序運(yùn)行之后如圖16.4所示。用戶可以在其中任何一個TDBEdit部件中修改其中的字段值。
    用TDBEdit部件顯示和修改表中的數(shù)據(jù)
    窗體中還使用了一個TDBNavigator部件,使用它的目的是在表中移動記錄指針,還可以進(jìn)行修改、插入、刪除記錄等操作,具體的使用和操作參看 16.5 TDBNaigator部件的使用一節(jié)。
    16.4 用TDBGrid部件顯示和編輯表中的數(shù)據(jù)
    TDBGrid部件和TDBEdit部件一樣,它們是專門用來顯示和編輯數(shù)據(jù)庫表中的數(shù)據(jù)的,但TDBGrid部件的功能更強(qiáng)大一些,它可以以網(wǎng)格的形式顯示數(shù)據(jù)庫表中全部記錄的所有字段信息。
    用TDBGrid顯示數(shù)據(jù)庫表中的記錄信息
    在TDBGrid部件中顯示數(shù)據(jù)庫表中的記錄信息時,如果TDBGrid使用數(shù)據(jù)集部件在運(yùn)行過程中動態(tài)生成的字段部件時,TDBGrid顯示數(shù)據(jù)庫表中的記錄是按表中記錄的缺省順序和字段的缺省順序顯示表中的記錄信息,而且要顯示表中各個記錄的全部字段的值。而在大多數(shù)情況下,用戶可能希望按自己喜歡的字段順序顯示記錄的各個字段,有時還希望只顯示記錄的部分字段值,要達(dá)到這一目的,必須在設(shè)計階段使用字段編輯器來創(chuàng)建永久性的字段部件,并且還要設(shè)置各個字段部件有關(guān)的屬性。
    當(dāng)使用字段編輯器(Fields Editor)創(chuàng)建永久性的字段部件提供給TDBGrid部件來使用時,我們可以在TDBGrid部件中更靈活地顯示數(shù)據(jù)庫表中的記錄信息。例如在字段編輯器中的Fields列表框中我們可以設(shè)定字段部件的顯示順序,在設(shè)定好字段的顯示順序之后,TDBGrid部件便按這個順序顯示記錄的各個字段值,當(dāng)我們設(shè)置字段部件的DisplayFormat和EditFormat屬性之后,在TDBGrid部件中便相應(yīng)地以設(shè)定的顯式和編輯格式顯示字段值和編輯字段值;當(dāng)設(shè)置某一個字段部件的Required屬性為True時,當(dāng)插入一條新記錄時,必須要為該字段輸入相應(yīng)的字段值,否則會出錯;通過設(shè)置字段部件的Visible屬性,可以確定相應(yīng)的字段值是否在TDBGrid組件中顯示。有關(guān)使用字段編輯器來創(chuàng)建字段部件,設(shè)置字段部件的屬性請參看3.6.2節(jié)。