15.3.4 數據集中的數據維護
數據集中的數據維護主要包括數據記錄的修改,插入和刪除。Delphi為數據集部件提供了相應的方法用于其中的數據維護。這些方法如表15.所示。
表15.3 Delphi用于數據維護的方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
方 法 名 功 能
──────────────────────────────
Edit 將數據集置為編輯狀態(tài)
──────────────────────────────
Append 投寄所有被修改的記錄,將記錄指針移到表中的最后
一條記錄,且將數據集置為插入狀態(tài)
──────────────────────────────
Insert 投寄所有被修改的記錄將數據集置為插入狀態(tài)
──────────────────────────────
Post 將插入的新記錄和修改的記錄寫回磁盤上的數據庫表,
即投寄,當投寄成功時數據集回到瀏覽狀態(tài),若投寄
不成功數據集仍然保持原有狀態(tài)
──────────────────────────────
Cancel 取消當前的操作且將數據集置為瀏覽狀態(tài)
──────────────────────────────
Delete 刪除當前記錄指針所在的記錄且將數據集置為瀏覽狀態(tài)
──────────────────────────────
AppendRecord 在表的最后插入一條新記錄,記錄的各個字段值作為
AppendRecord的參數傳遞給新記錄
──────────────────────────────
InsertRecord 在當前指針所在記錄的后面插入一條新記錄, 記錄的
各個字段值作為InsertRecord的參數傳遞給新記錄。
──────────────────────────────
SetRecords 修改當前記錄,字段名和相應的字段值作為SetRecords
的參數
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Edt方法:如果應用程序想對數據集中的數據記錄進行修改,我們必須要將數據集設置成編輯狀態(tài)。調用數據集部件的Edit方法便可以將數據集置成編輯狀態(tài),當數據集已經處在編輯狀態(tài)時,調用Edit方法不會產生作用。當數據集處于編輯狀態(tài)時,移動記錄指針或調用post方法都可以將當前記錄的修改寫回到磁盤數據庫表中。在程序中, Edit方法和post方法常常配合在一起使用,用于修改表中的記錄。如:
Table1.Edit;
Tabel1.FieldByName('CustNo').Asstring := '1234';
Table1.st;
在上述這一段程序代碼中,第一行程序是將Table1置成編輯狀態(tài),第二行程序是對當前記錄指針所在的記錄的CustNo字段的值修改成'1234',第二行程序是調用post方法將對當前記錄的修改寫回數據庫表。
Append方法和Insert 方法:這兩個方法都是將數據集部件置成插入狀態(tài),以在表中插入新記錄,Insert方法是在當前指針位置的記錄后面插入一打新記錄,Append方法是在表的尾部插入一打新記錄,不過這要注意,無論用戶是調用Insert方法還是Append方法插入新記錄,增加記錄到一個具有索引的表中時,都是按照索引順序寫入其位置,也就是說對于索引表格Insert方法和Append方法的作用是一樣的,Append僅適用于沒有索引的表。Insert方法和Append方法實際上是將數據集置成插入狀態(tài),并且插入一條空白記錄,要真正插入一條新記錄,我們必須在調用Insert或Append方法之后,還要給新記錄的各個字段賦值,最后調用post方法,將插入的記錄寫回數據庫表。調用這兩種方法插入新記錄的一般步驟如下:
With tabe1 DO
Begin
Insert; {調用Insert方法,插入一條空記錄}
<為記錄的各字段賦值>
Post;
End;
Post方法:數據集中的記錄被修改或插入新記錄時調用post方法將數據集的修改寫回到數據庫表。根據數據集所處的狀態(tài)不同,post方法所產生的作用和效果是不一樣的:
● 當數據集處于編輯狀態(tài)時,調用post方法,將當前記錄的修改寫回數據庫表
● 當數據集處于插入狀態(tài)時,調用post方法,將插入的新記錄寫回數據庫表
● 當數據集處于SetKey狀態(tài)時,調用post方法,將數據集置成瀏覽狀態(tài)(Browse狀態(tài))
post方法的調用既可以顯式地調用,也可以隱含地調用,當數據集處于編輯狀態(tài)或插入狀態(tài)時,當移動記錄指針時,Delphi會隱含地調用post方法,將將當前記錄的修改寫回數據庫表,在程序調用Insert方法或Append方法時,也會隱含地調用Post方法,將先前的數據集的修改寫回數據庫表。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |