表 Delphi用於數據維護的方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
方 法 名 功 能
──────────────────────────────
Edit 將數據集置為編輯狀態
──────────────────────────────
Append 投寄所有被修改的記錄將記錄指針移到表中的最後一條記錄且將數據集置為插入狀態
──────────────────────────────
Insert 投寄所有被修改的記錄將數據集置為插入狀態
──────────────────────────────
Post 將插入的新記錄和修改的記錄寫回磁盤上的數據庫表即投寄當投寄成功時數據集回到浏覽狀態若投寄不成功數據集仍然保持原有狀態
──────────────────────────────
Cancel 取消當前的操作且將數據集置為浏覽狀態
──────────────────────────────
Delete 刪除當前記錄指針所在的記錄且將數據集置為浏覽狀態
──────────────────────────────
AppendRecord 在表的最後插入一條新記錄記錄的各個字段值作為
AppendRecord的參數傳遞給新記錄
──────────────────────────────
InsertRecord 在當前指針所在記錄的後面插入一條新記錄 記錄的各個字段值作為InsertRecord的參數傳遞給新記錄
──────────────────────────────
SetRecords 修改當前記錄字段名和相應的字段值作為SetRecords的參數
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Edt方法如果應用程序想對數據集中的數據記錄進行修改我們必須要將數據集設置成編輯狀態調用數據集部件的Edit方法便可以將數據集置成編輯狀態當數據集已經處在編輯狀態時調用Edit方法不會產生作用當數據集處於編輯狀態時移動記錄指針或調用post方法都可以將當前記錄的修改寫回到磁盤數據庫表中在程序中 Edit方法和post方法常常配合在一起使用用於修改表中的記錄如
TableEdit;
TabelFieldByName(CustNo)Asstring := ;
Tablest;
在上述這一段程序代碼中第一行程序是將Table置成編輯狀態第二行程序是對當前記錄指針所在的記錄的CustNo字段的值修改成第二行程序是調用post方法將對當前記錄的修改寫回數據庫表
Append方法和Insert 方法這兩個方法都是將數據集部件置成插入狀態以在表中插入新記錄Insert方法是在當前指針位置的記錄後面插入一打新記錄Append方法是在表的尾部插入一打新記錄不過這要注意無論用戶是調用Insert方法還是Append方法插入新記錄增加記錄到一個具有索引的表中時都是按照索引順序寫入其位置也就是說對於索引表格Insert方法和Append方法的作用是一樣的Append僅適用於沒有索引的表Insert方法和Append方法實際上是將數據集置成插入狀態並且插入一條空白記錄要真正插入一條新記錄我們必須在調用Insert或Append方法之後還要給新記錄的各個字段賦值最後調用post方法將插入的記錄寫回數據庫表調用這兩種方法插入新記錄的一般步驟如下
With tabe DO
Begin
Insert; {調用Insert方法插入一條空記錄}
<為記錄的各字段賦值>
Post;
End;
Post方法數據集中的記錄被修改或插入新記錄時調用post方法將數據集的修改寫回到數據庫表根據數據集所處的狀態不同post方法所產生的作用和效果是不一樣的
● 當數據集處於編輯狀態時調用post方法將當前記錄的修改寫回數據庫表
● 當數據集處於插入狀態時調用post方法將插入的新記錄寫回數據庫表
● 當數據集處於SetKey狀態時調用post方法將數據集置成浏覽狀態(Browse狀態)
post方法的調用既可以顯式地調用也可以隱含地調用當數據集處於編輯狀態或插入狀態時當移動記錄指針時Delphi會隱含地調用post方法將將當前記錄的修改寫回數據庫表在程序調用Insert方法或Append方法時也會隱含地調用Post方法將先前的數據集的修改寫回數據庫表
Delete方法Delete方法用於刪除表中的記錄調用Delete方法時將會刪除表中當前的記錄並且自動地將記錄指針移到被刪記錄的下一條記錄同時將數據集置成Browse狀態
Cancel方法Cancel方法用於取消當前的操作當程序還沒有調用Post方法將對記錄的修改寫回數據庫表時調用Cancel方法可以將記錄恢復到沒有修改之前的狀態並且在調用Cancel方法時它總是將數據集置成Browse狀態
AppendRecord方法和InsertRecord方法這兩個方法分別與Append方法和Insert方法相似它們都是用於在表中插入一條新記錄但AppendRecord方法和InsertRecord方法比Append和Insert方法更簡單更方便一些它們直接在表中插入一條新記錄新記錄的各個字段值作為AppendRecord或InsertRecord方法的參數傳遞給新記錄並且不需顯式地調用post方法將插入的新記錄寫回數據庫表在給插入的新記錄賦字段值時將由多個字段值組成的數組作為AppendRecord或InsertRecord的參數在字段值數組中可以為每一個字段提供一個值或從左邊一列開始依次為任意多個字段賦值也就是說用戶可以從數據庫表的最左一列起把許多列的值同時傳遞給InsertRecord直到所有的字段被賦值用戶也可以省略字段序列後面的的一些字段值InsertRecord會用空值來填充這些字段用戶也可以對那些明確希望用空填充的字段傳遞保留字NIl
[] [] [] []
From:http://tw.wingwit.com/Article/program/Delphi/201311/25163.html