3.3 表記錄的處理
1. 記錄的輸入
(1) 立即輸入方式:
設(shè)計好表的結(jié)構(gòu)后,系統(tǒng)會提示是否直接進(jìn)入數(shù)據(jù)輸入狀態(tài)。若選是,則進(jìn)入編輯窗口,輸完后單擊“X”按鈕退出,系統(tǒng)自動存盤。需輸入備注型或通用型字段的數(shù)據(jù)時,雙擊“memo” 或“gen”,在新打開的編輯窗口中輸入所需內(nèi)容,輸完后單擊“X”按鈕系統(tǒng)自動存盤,退回到原窗口 ,此時字段中的“memo” 或“gen”變成“Memo” 或“Gen”。
(2) 追加方式:
若設(shè)計好表的結(jié)構(gòu)后并沒有及時輸入數(shù)據(jù),則可以用追加方式:
從文件菜單中(或從命令窗口中輸入:USE 表文件名) 打開所需表文件 → 從顯示菜單中選擇瀏覽 → 再從顯示菜單中選擇追加方式 → 在瀏覽窗口中輸入所需記錄。
不同追加方式適用的場合
追加記錄的方式 |
適用的場合 |
顯示菜單中的追加方式 |
在現(xiàn)有數(shù)據(jù)表的尾部添加一個或多個新記錄 |
表菜單中的追加新記錄 |
在現(xiàn)有數(shù)據(jù)表的尾部添加一個新記錄 |
表菜單中的追加記錄… |
從其它數(shù)據(jù)表中將符合要求(字段名和字段類型相同)的記錄添加在當(dāng)前數(shù)據(jù)表的尾部 |
APPEND [BLANK] |
在當(dāng)前表的末尾自動添加一個或多個新記錄。相當(dāng)于顯示菜單中的追加方式。有BLANK時添加一個空記錄,相當(dāng)于表菜單中的追加新記錄。 |
APPEND FROM 表文件名 [FIELDS 字段名1,字段名2 …][FOR 條件 ] |
從其它數(shù)據(jù)表中將符合要求(字段名和字段類型相同)的記錄添加在當(dāng)前數(shù)據(jù)表的尾部。相當(dāng)于表菜單中的追加記錄…。 |
APPEND FROM 文本文件名 SDF |
將符合要求的文本文件全部追加在當(dāng)前數(shù)據(jù)表的尾部。 注意:文本內(nèi)容要與表中的字段結(jié)構(gòu)相適應(yīng)。 |
文件菜單中的導(dǎo)入 |
將其它類型的文件轉(zhuǎn)換成一個完整的VFP數(shù)據(jù)表。 |
(3) 使用INSERT-SQL命令
該命令的一般格式為:
INSERT INTO <表名>[(字段名1[,字段名2 …])] VALUES (表達(dá)式1[,表達(dá)式2 …])
例:INSERT INTO xscj(xh,xm,cj) VALUES ("81991001", "張良", 85.5)
2. 記錄的瀏覽
(1) 通過瀏覽窗口
(2) 通過BROWSE 命令
BROWSE命令用來打開表的瀏覽窗口,可通過不同的子句來實現(xiàn)對特定記錄的瀏覽。
VFP命令中的常用子句
1) 范圍子句
子句格式 |
功能 |
ALL |
表示對表文件的全部記錄進(jìn)行操作 |
NEXT n |
表示對從當(dāng)前記錄開始的共n個記錄進(jìn)行操作, n為正整數(shù) |
RECORD n |
指明操作對象是表文件的第n號記錄 |
REST |
對從當(dāng)前記錄起到文件結(jié)尾的全部記錄進(jìn)行操作 |
2) FOR子句
用于指明進(jìn)行操作的條件。
格式: FOR <條件>
指明只對指定范圍中那些符合給定條件的進(jìn)行當(dāng)前操作。
例如: list NEXT 6 FOR cj < 85
3) WHILE 子句
也用于指明進(jìn)行操作的條件。
格式: WHILE <條件>
例如: list NEXT 6 WHILE cj < 85
4) FIELDS 子句
用于指明當(dāng)前的操作涉及到表文件的哪些字段。
格式:BROWSE [ FIELDS 字段名1,字段名2……]
例如:BROWSE FIELDS xh,xm,cj
3. 記錄的定位
(1) 系統(tǒng)對記錄的三個控制標(biāo)志
記錄開始標(biāo)志:位于第一個記錄之前。其值用函數(shù)BOF()進(jìn)行測試。
記錄指針標(biāo)志:指向當(dāng)前記錄。其值用函數(shù)RECNO()進(jìn)行測試。
記錄結(jié)束標(biāo)志:位于最后一個記錄之后。其值用函數(shù)EOF()進(jìn)行測試。
記錄指針可以理解為保存當(dāng)前記錄號的變量,它的初始值總是1,不可能為0或負(fù)數(shù),最大值是表中記錄總數(shù)+1。
剛打開表時記錄指針的情況
表中記錄情況 |
BOF()的值 |
RECNO()的值 |
EOF()的值 |
無記錄 |
.T. |
1 |
.T. |
有記錄 |
.F. |
1 |
.F. |