版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、§ 3.1 表的創(chuàng)建與操作,3.1.1 創(chuàng)建表結(jié)構(gòu),,圖3-1 學(xué)生檔案表,,§ 3.1 表的創(chuàng)建與操作,3.1.1 創(chuàng)建表結(jié)構(gòu)1.設(shè)計(jì)表結(jié)構(gòu)字段名 字段類型 字段寬度 小數(shù)位 學(xué)號(hào) 字符型 6 姓名 字符型 6性別 字符型
2、 2民族 字符型 4出生日期 日期型 8入學(xué)成績(jī) 數(shù)值型 6 2專業(yè) 字符型 4團(tuán)員否 邏輯型 1簡(jiǎn)歷 備注型
3、 4 獎(jiǎng)學(xué)金 數(shù)值型 7 2,,,§ 3.1 表的創(chuàng)建與操作,3.1.1 創(chuàng)建表結(jié)構(gòu) 2.建立表結(jié)構(gòu) (1)命令格式:CREATE 。 功能:進(jìn)入表設(shè)計(jì)環(huán)境,建立表結(jié)構(gòu)。 (2)菜單方式: 1)在Visual FoxPro系統(tǒng)主菜單下,打開“文件”菜
4、單,選擇“新建”,便會(huì)打開新建各種Visual FoxPro文件的對(duì)話框。 2)在該對(duì)話框中選擇“表”類型,然后單擊“ 新建文件”按鈕,此時(shí)會(huì)出現(xiàn)“創(chuàng)建”對(duì)話框。 3)在其表名輸入框中輸入“學(xué)生檔案表 ” ,然后單擊“保存”按鈕,即進(jìn)入“表設(shè)計(jì)器”對(duì)話框。 4)其它操作同命令方式。,§ 3.1 表的創(chuàng)建與操作,3.1.2 輸入數(shù)據(jù)記錄說(shuō)明:1)日期型數(shù)據(jù)輸入
5、格式:月月 / 日日 / 年年年年2)邏輯型數(shù)據(jù)輸入方法:T — 代表“真”;F — 代表“假”3)備注型字段輸入方法:雙擊值輸入位置“memo”,在打開的memo編輯窗口(如圖3-7)中輸入字符型內(nèi)容。輸入完畢時(shí)關(guān)閉該窗口即可。4)通用型字段輸入方法:雙擊值輸入位置“gen”,在打開的gen編輯窗口中用粘貼等方法輸入圖、聲音等內(nèi)容?;蛟凇熬庉嫛辈藛蜗逻x擇“插入對(duì)象”,選擇某種插入對(duì)象。 數(shù)據(jù)記錄輸入完
6、畢時(shí),若要保存數(shù)據(jù)且退出編輯狀態(tài),可直接關(guān)閉編輯窗口,或使用熱鍵CTRL + W 。 若放棄保存,按Esc鍵。 上述數(shù)據(jù)輸入過(guò)程結(jié)束后,我們便完成了一個(gè)數(shù)據(jù)表的建立。這時(shí)外存儲(chǔ)器中應(yīng)保存了一個(gè)名為“學(xué)生檔案表.DBF”的文件。,§ 3.1 表的創(chuàng)建與操作,3.1.2 輸入數(shù)據(jù)記錄我們可以嘗試在命令窗口輸入下述命令對(duì)該表的一些情況進(jìn)行簡(jiǎn)單查看:DIR DIR *.FPT LIST DISPL
7、AY BROWSE DISPLAY STRUCTURE LIST FOR 專業(yè)=’計(jì)算機(jī)’ LIST 姓名, 性別, 入學(xué)成績(jī), 簡(jiǎn)歷 USE,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作1.表的打開 1)命令方式作用:將表由外存儲(chǔ)器調(diào)入內(nèi)存供操作。命令格式:USE 如:USE 學(xué)生檔案表 LIST 2)菜單方式① “文件”菜單中選擇“打開”命令項(xiàng)。此
8、時(shí)會(huì)出現(xiàn) “打開”對(duì)話框。② 如圖,文件類型框中選擇“表”,并單擊要打開的表(如:“學(xué)生檔案表.DBF”)。選擇“獨(dú)占”方式,然后單擊“確定”按鈕。,圖3-9 “打開”對(duì)話框,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作2.表的關(guān)閉作用:將數(shù)據(jù)保存到外存儲(chǔ)器,并釋放內(nèi)存中的表(1)命令方式:命令格式:USE如:USE LIST (2)菜單方式:① 打開“窗口”菜單,單擊“數(shù)據(jù)工作期”項(xiàng)
9、,會(huì)出現(xiàn)如圖所示對(duì)話框;② 在對(duì)話框中單擊“關(guān)閉”按鈕。說(shuō)明:打開另一表時(shí),當(dāng)前表自動(dòng)關(guān)閉;退出Visual FoxPro,當(dāng)前表自動(dòng)關(guān)閉。,圖3-10 在“數(shù)據(jù)工作期”對(duì)話框關(guān)閉表,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作3.?dāng)?shù)據(jù)的簡(jiǎn)單顯示和修改(1)以編輯方式顯示和修改數(shù)據(jù)作用:打開編輯窗口,顯示數(shù)據(jù)并可進(jìn)行修改。1)命令方式:命令格式:EDIT | CHANGE 如:USE 學(xué)生檔案表
10、 EDIT 2)菜單方式:① 打開表;② “顯示”菜單中,單擊“瀏覽(B)… ”命令項(xiàng)(如圖3-11所示);③ 必要時(shí),再次打開“顯示”菜單,選擇“編輯”(如圖3-12所示)。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作3.?dāng)?shù)據(jù)的簡(jiǎn)單顯示和修改(2)以瀏覽方式查看和修改數(shù)據(jù)作用:打開瀏覽窗口,顯示數(shù)據(jù)并可進(jìn)行修改。命令方式:命令格式:BROWSE 如:USE 學(xué)生檔案表
11、 BROWSE 菜單方式:① 打開表;② “顯示”菜單中,單擊“瀏覽(B)… …”命令項(xiàng)。如圖3-11所示③ 必要時(shí),再次打開“顯示”菜單,選擇“瀏覽”。如圖3-13所示。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作3.?dāng)?shù)據(jù)的簡(jiǎn)單顯示和修改(3)數(shù)據(jù)的簡(jiǎn)單顯示作用:在Visual FoxPro主窗口簡(jiǎn)單顯示當(dāng)前表的數(shù)據(jù)。命令格式:LIST | DISPLAY說(shuō)明:LIST ——
12、 列單方式顯示DISPLAY —— 分屏方式顯示 (若省略范圍和條件,它只顯示當(dāng)前記錄)如:USE 學(xué)生檔案表 LIST DISPLAY DISPLAY ALL,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作4.移動(dòng)記錄指針為進(jìn)行針對(duì)某數(shù)據(jù)記錄的定位操作,我們需要移動(dòng)記錄指針。記錄指針 —— 指向表中某數(shù)據(jù)記錄的抽象指針。 萬(wàn)連民陳小
13、生張明孫啟關(guān)紅黎… …張影李軍BOFEOFTopBottom當(dāng)前記錄圖3-15 表中的幾個(gè)特殊位置名稱(1)數(shù)據(jù)表中幾個(gè)特殊位置介紹① 當(dāng)前記錄:記錄指針指向的記錄。② Top —— 表中第一個(gè)記錄。③ Bottom —— 表中最后一個(gè)記錄。④ BOF —— 表文件首。⑤ EOF —— 表文件尾。以上參見圖3-15。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作4.移動(dòng)記錄指針(2)移動(dòng)記錄指針 1
14、)記錄指針的絕對(duì)移動(dòng)命令命令格式:GO | GOTO 功能:按記錄號(hào)或位置名稱將記錄指針移動(dòng)到某記錄上。如:USE 學(xué)生檔案表 GO 3 DISPLAY GO TOP DISPLAY GO BOTTOM DISPLAY,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作4.移動(dòng)記錄
15、指針(2)移動(dòng)記錄指針2)記錄指針的相對(duì)移動(dòng)命令命令格式:SKIP [ ± n ]功能:使記錄指針自當(dāng)前記錄位置向下(上)移動(dòng)n個(gè)記錄。(省略n則下移一個(gè)記錄)如:USE 學(xué)生檔案表 DISPLAY SKIP DISPLAY SKIP 3 DISPLAY SKIP -2 DISPLAY 3
16、)菜單方式移動(dòng)記錄指針 先打開表,并打開瀏覽或編輯窗口;然后在“表”菜單下選擇“轉(zhuǎn)到記錄”,并在其子菜單選擇“第一個(gè)”、“最后一個(gè)”、“下一個(gè)”、“上一個(gè)”,或選“記錄號(hào)”后輸入記錄號(hào)。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作5.向表中加入數(shù)據(jù)記錄1)追加數(shù)據(jù)記錄命令方式:命令格式:APPEND [ BLANK ]功能:在表數(shù)據(jù)的末尾追加數(shù)據(jù)記錄說(shuō)明:BLANK —— 空記錄如:USE 學(xué)生
17、檔案表 APPEND &此時(shí)可加入“陳軍明”記錄:女,出生日期03/12/81,臨床專業(yè)等APPEND BLANK BROWSE,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作5.向表中加入數(shù)據(jù)記錄1)追加數(shù)據(jù)記錄菜單方式:① 進(jìn)入表的瀏覽或編輯方式;② “顯示”菜單下選擇“追加方式”; (或在“表”菜單下選擇“追加新記錄N”)③ 在最后記錄位置輸入數(shù)據(jù)記錄。說(shuō)明:
18、① “追加方式”可依次向下追加若干記錄,“追加新記錄”可追加一個(gè)新記錄。② “表”菜單下的“追加記錄(A)…”選項(xiàng)可將其它表作為數(shù)據(jù)源進(jìn)行追加。其操作方法及對(duì)應(yīng)的命令格式我們將在后面加以介紹。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作2)插入數(shù)據(jù)記錄 如果希望將新數(shù)據(jù)記錄定位加入到某兩個(gè)記錄間,我們可以用“插入記錄”的方式。命令格式:INSERT [ BEFORE ][ BLANK ]功能:在當(dāng)前記錄
19、位置插入新記錄。說(shuō)明:默認(rèn)為新記錄插入到當(dāng)前記錄后。選用“BEFORE”項(xiàng)可插入到當(dāng)前記錄之前;選用“BLANK”項(xiàng)可插入一個(gè)空記錄。如:GO 4 INSERT &此時(shí)我們可插入“張三”記錄,內(nèi)容自定 GO 7 INSERT BEFORE BLANK BROWSE,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作6.表結(jié)構(gòu)的查
20、看與修改1)查看表結(jié)構(gòu)命令格式:LIST | DISPLAY STRUCTURE功能:在Visual FoxPro主窗口中顯示表結(jié)構(gòu)。如:DISPLAY STRUCTURE 2)修改表結(jié)構(gòu)命令方式:命令格式:MODIFY STRUCTURE功能:打開表設(shè)計(jì)器,修改表結(jié)構(gòu)如:MODIFY STRUCTURE &可在“出生日期”字段后插入“年齡”字段菜單方式:打開表;在“顯示”菜單下單擊“表設(shè)
21、計(jì)器”。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作7.命令的作用范圍、條件、字段的限定1)范圍限定作用:限定被操作的記錄范圍常用限定詞:ALL —— 所有記錄范圍內(nèi)Record n —— 第n號(hào)記錄Next N —— 自當(dāng)前記錄始向下的N個(gè)記錄范圍內(nèi)Rest —— 自當(dāng)前記錄至最后記錄范圍內(nèi)如:USE 學(xué)生檔案表 DISPLAY ALL LIST RECORD
22、5 GO 3 DISPLAY NEXT 4 DISPLAY REST,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作7.命令的作用范圍、條件、字段的限定2)條件限定作用:限定對(duì)滿足條件的記錄進(jìn)行操作。限定方式:FOR | WHILE 說(shuō)明:FOR —— 對(duì)滿足的記錄操作WHILE —— 對(duì)滿足的記錄操作,至遇到第一個(gè)不滿足記錄止(因WHILE目前較少用,為格式簡(jiǎn)捷,我們?cè)诤罄m(xù)命令格式中將只使
23、用FOR做條件限定)。如:LIST FOR 入學(xué)成績(jī)>=500 BROWSE FOR 專業(yè)=’計(jì)算機(jī)’,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作7.命令的作用范圍、條件、字段的限定3)字段限定作用:限定被操作的字段限定方式:[ FIELDS ] 說(shuō)明:字段名表 —— 以逗號(hào)分隔的若干個(gè)字段名如:LIST 姓名,專業(yè),簡(jiǎn)歷 BROWSE FIELDS 姓名,性別,入學(xué)成
24、績(jī) 4)其它說(shuō)明① Visual FoxPro 命令的一般格式: 命令動(dòng)詞 [ ] [ FOR ] [ [FIELDS] ] []② 在輸入操作命令時(shí),對(duì)于復(fù)雜的命令詞,我們可以只輸入其前四個(gè)字母。③ 命令格式中的范圍、條件、字段名表等部分可互換位置。如:GO 3 DISP REST FOR 專業(yè)=”中文” 姓名,性別,專業(yè) OFF &OFF不顯記錄號(hào),§ 3.1 表的創(chuàng)建
25、與操作,3.1.3 表的操作8.表數(shù)據(jù)記錄的定制顯示與修改1)表數(shù)據(jù)記錄的定制顯示命令格式:LIST | DISPLAY [ ] [ FOR ] [ ] [ OFF ] [ TO PRINT ]說(shuō)明:OFF —— 不顯示記錄號(hào) TO PRINT —— 送打印機(jī)打印如:USE 學(xué)生檔案表LIST FOR 性別=’女’ AND 團(tuán)員否= .T. 姓名,性別,團(tuán)員否 TO PRINT DISP
26、NEXT 6 FOR 入學(xué)成績(jī)>400 姓名,專業(yè),入學(xué)成績(jī) OFF,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作8.表數(shù)據(jù)記錄的定制顯示與修改2)表數(shù)據(jù)記錄的定制顯示與修改命令方式:瀏覽命令:BROWSE [ ][ FOR ][ FIELDS ]編輯命令:EDIT | CHANGE [ ][ FOR ][ FIELDS ] 如:GO 4 BROW FOR 民族# ‘漢’ AND 入學(xué)成績(jī)>
27、;460 FIELDS 姓名,民族,入學(xué)成績(jī) EDIT REST 姓名,專業(yè),簡(jiǎn)歷,照片 菜單方式:,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作9.刪除數(shù)據(jù)記錄1)記錄的邏輯刪除作用:對(duì)要?jiǎng)h除的記錄加刪除標(biāo)記。該標(biāo)記在主窗口顯示為“*”,在瀏覽或編輯窗口顯示為最左端的黑色豎條 。命令方式:命令格式:DELETE [ ] [ FOR ]說(shuō)明:若省略范圍和條件,則只刪除當(dāng)前記錄。如:GO BOTTO
28、M DELETE DELETE FOR 姓名=’陳軍明’ DELETE RECORD 5 DELETE FOR 姓名=‘ ’ DISPLAY ALL 姓名,專業(yè) BROWSE FIELDS 姓名,專業(yè) 菜單方式:① 打開表,并打開瀏覽或編輯窗口;② 對(duì)于無(wú)規(guī)律刪除,只需單擊瀏覽或編輯窗口最左端小方格,使其變?yōu)楹谏纯伞?duì)于規(guī)律性刪除,可在“表”菜單下單擊“刪除記錄(D)…”按鈕,在其對(duì)話框中選擇范圍并輸入條件。,&
29、#167; 3.1 表的創(chuàng)建與操作,3.1.3 表的操作9.刪除數(shù)據(jù)記錄2)恢復(fù)邏輯刪除過(guò)的記錄作用:取消被邏輯刪除記錄的刪除標(biāo)記。命令方式:命令格式:RECALL [ ] [ FOR ]說(shuō)明:省略范圍和條件,只恢復(fù)當(dāng)前記錄。如:RECALL FOR 姓名=’陳軍明’ LIST BROWSE 菜單方式:① 打開表,并打開瀏覽或編輯窗口;② 無(wú)規(guī)律恢復(fù),只需單擊最左端黑色刪除標(biāo)記,使小窗格變白;規(guī)律性恢復(fù),可在
30、“表”菜單下單擊“恢復(fù)記錄(E)…”項(xiàng),并選擇范圍和輸入條件。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作9.刪除數(shù)據(jù)記錄3)記錄的物理刪除作用:將做過(guò)刪除標(biāo)記的記錄從表中清除。命令方式:命令格式:PACK如:PACK LIST BROWSE 菜單方式:打開瀏覽或編輯窗口,在“表”菜單下選擇“徹底刪除(M)”。實(shí)例:在瀏覽窗口為“陳軍明”加刪除標(biāo)記,并選擇“徹底刪除”。重新瀏覽結(jié)果。,§
31、 3.1 表的創(chuàng)建與操作,3.1.3 表的操作9.刪除數(shù)據(jù)記錄4)物理清空數(shù)據(jù)記錄命令格式:ZAP功能:直接清除當(dāng)前表中的所有數(shù)據(jù),只留下表結(jié)構(gòu)。10.?dāng)?shù)據(jù)替換命令命令格式:REPLACE [ ][ FOR ] WITH [, WITH … ]功能:對(duì)指定范圍內(nèi)滿足條件的記錄,用的值替換字段值。說(shuō)明:省略范圍和條件,只替換當(dāng)前記錄。使用菜單方式:打開表瀏覽或編輯窗口,在“表”菜單單擊“替換字段(R)…”項(xiàng)
32、,并回答對(duì)話框。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作11.?dāng)?shù)據(jù)的統(tǒng)計(jì)和計(jì)算命令1)統(tǒng)計(jì)記錄個(gè)數(shù)命令格式:COUNT [] [ FOR] [ TO ]功能:統(tǒng)計(jì)指定范圍內(nèi)滿足條件的記錄個(gè)數(shù),結(jié)果可存入內(nèi)存變量中。如:USE 學(xué)生檔案表 DISP ALL 姓名,性別,民族,團(tuán)員否 COUNT TO ZRS COUNT FOR 團(tuán)員否 TO TYRS COUNT FOR NOT 民族=’漢’
33、 TO SSMZ ?ZRS,TYRS,SSMZ,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作11.?dāng)?shù)據(jù)的統(tǒng)計(jì)和計(jì)算命令2)數(shù)值字段的縱向求和命令格式:SUM [] [ FOR] [ TO ]功能:對(duì)指定范圍內(nèi)滿足條件記錄的數(shù)值型字段縱向求和,結(jié)果可存入內(nèi)存變量?!纠?-3】求所有學(xué)生獎(jiǎng)學(xué)金的總和LIST 姓名,獎(jiǎng)學(xué)金 SUM ALL 獎(jiǎng)學(xué)金 TO ZJXJ ?ZJXJ,§ 3.1
34、表的創(chuàng)建與操作,3.1.3 表的操作11.?dāng)?shù)據(jù)的統(tǒng)計(jì)和計(jì)算命令3)數(shù)值字段的縱向求平均值命令格式:AVERAGE [] [ FOR] [ TO ]功能:對(duì)指定范圍內(nèi)滿足條件記錄的數(shù)值型字段縱向求平均值,結(jié)果可存入內(nèi)存變量。【例3-4】計(jì)算所有學(xué)生入學(xué)成績(jī)的平均值LIST 姓名,入學(xué)成績(jī) AVERAGE 入學(xué)成績(jī) TO PJCJ ?PJCJ,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作11.?dāng)?shù)據(jù)的統(tǒng)
35、計(jì)和計(jì)算命令3)數(shù)值字段的縱向求平均值命令格式:AVERAGE [] [ FOR] [ TO ]功能:對(duì)指定范圍內(nèi)滿足條件記錄的數(shù)值型字段縱向求平均值,結(jié)果可存入內(nèi)存變量。【例3-4】計(jì)算所有學(xué)生入學(xué)成績(jī)的平均值LIST 姓名,入學(xué)成績(jī) AVERAGE 入學(xué)成績(jī) TO PJCJ ?PJCJ,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作12.表的其它操作命令1)表的復(fù)制命令格式:COPY TO
36、[] [ FOR] [ FIELDS]功能:將當(dāng)前表指定范圍內(nèi)滿足條件記錄的指定字段復(fù)制到中。要求:源表必須打開,成為當(dāng)前表。如:USE 學(xué)生檔案表 COPY TO LCXS FOR 專業(yè)=’計(jì)算機(jī)’ FIELDS 姓名,性別,入學(xué)成績(jī),專業(yè) USE LCXS LIST LIST STRU,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作12.表的其它操作命令2)表結(jié)構(gòu)的復(fù)制命令格式:COPY STRUC
37、TURE TO [ FIELDS]功能:將當(dāng)前表結(jié)構(gòu)的指定字段復(fù)制到中。要求:源表必須打開,成為當(dāng)前表。如:USE 學(xué)生檔案表 COPY STRU TO XSDA FIELDS 姓名,民族,專業(yè),團(tuán)員否 USE XSDA LIST LIST STRU,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作12.表的其它操作命令3)以其它表作數(shù)據(jù)源追加數(shù)據(jù)命令方式:命令格式:APPEND FROM [] [
38、 FOR] [ FIELDS]功能:將指定范圍內(nèi)滿足條件記錄的指定字段的數(shù)據(jù)追加到當(dāng)前表末尾。如:USE 學(xué)生檔案表 LIST APPEND FROM LCXS FIELDS 姓名,專業(yè) LIST 菜單方式:① 打開主表,并打開其瀏覽窗口;② “表”菜單下選擇“追加記錄(A)…”,在對(duì)話框選擇數(shù)據(jù)源表,并選字段和輸入條件。,§ 3.1 表的創(chuàng)建與操作,3.1.3 表的操作12.表的其它操作命令4)對(duì)表的順
39、序查詢命令命令方式:命令格式:LOCATE [] [ FOR] [CONTINUE]功能:LOCATE――按表中記錄順序由上至下查找指定范圍內(nèi)滿足條件的第一個(gè)記錄。若找到,則將記錄指針定位于該記錄,使FOUND()函數(shù)值為真;否則,指針定位到表文件尾,F(xiàn)OUND()函數(shù)值為假。CONTINUE――與LOCATE配合使用,使記錄指針移到下一個(gè)匹配記錄上。(可多次使用),§ 3.1 表的創(chuàng)建與操作,3.1.3
40、表的操作12.表的其它操作命令4)對(duì)表的順序查詢命令如:USE 學(xué)生檔案表 LOCATE FOR 性別=’女’ DISPLAY ?。縁OUND() ???EOF() CONTINUE DISPLAY CONTINUE DISPLAY … … ?。縁OUND() ???EOF(),§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作1.索引文件種類Visual FoxPro索引文件
41、有兩種,一種為單獨(dú)索引文件,擴(kuò)展名為.IDX;另一種為復(fù)合索引文件,擴(kuò)展名為.CDX。單獨(dú)索引文件的特點(diǎn)是每個(gè)索引文件只存放按一個(gè)表達(dá)式排序的方法,而復(fù)合索引文件可包含按多個(gè)表達(dá)式排序形成的多種排序方法(即一個(gè)復(fù)合索引文件中可含有多個(gè)索引)。復(fù)合索引文件又分為結(jié)構(gòu)復(fù)合索引文件和非結(jié)構(gòu)復(fù)合索引文件。結(jié)構(gòu)復(fù)合索引文件可以在建立表結(jié)構(gòu)時(shí)同時(shí)建立,它的主文件名與表名相同,并隨表的打開和關(guān)閉而打開、關(guān)閉。非結(jié)構(gòu)復(fù)合索引文件需單獨(dú)建立,也需單獨(dú)
42、打開和關(guān)閉。,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作2.建立索引 我們可以直接在表設(shè)計(jì)器中對(duì)表按某個(gè)字段或表達(dá)式建立索引,也可以用建立索引的命令對(duì)表建立索引。1)在表設(shè)計(jì)器中建立索引普通索引:可使記錄按某表達(dá)式排序。候選索引:除排序功能外,候選索引可確保字段輸入值的唯一性,避免重復(fù)值的輸入。唯一索引:對(duì)于索引值相同的記錄,只在索引文件中記錄其第一個(gè)。因而以該索引進(jìn)行排序顯示時(shí),相同索引值記錄只顯示
43、一個(gè)。主索引:只能對(duì)數(shù)據(jù)庫(kù)表建立主索引。它的特點(diǎn)與候選索引相同,但一個(gè)表只能建立一個(gè)主索引。,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作2)用命令方式建立索引命令格式:INDEX ON TAG [ FOR] [ASCENDING | DESCENDING] [ PRIMARY | CANDIDATE | REGULAR | UNIQUE ]說(shuō)明:ASCENDING —— 升序; DE
44、SCENDING —— 降序。PRIMARY —— 主索引; CANDIDATE —— 候選索引; REGULAR —— 普通索引;UNIQUE —— 唯一索引如:USE 學(xué)生檔案表 INDEX ON 團(tuán)員否 TAG TYF DESC MODI STRU &打開“索引”選項(xiàng)卡,會(huì)看到又增加了一個(gè)名為“TYF”的索引,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作3.索引的使用(1)命令方式
45、:命令格式:SET ORDER TO []功能:?jiǎn)⒂媚乘饕?。說(shuō)明:①是以我們?cè)诒碓O(shè)計(jì)器“索引”選項(xiàng)卡中看到的索引順序排號(hào)。②無(wú),為取消啟用索引如:USE 學(xué)生檔案表 BROWSE SET ORDER TO 2 BROWSE SET ORDER TO XH BROWSE SET ORDER TO BROWSE,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作(2)菜單方式:① 打開表,
46、并打開瀏覽窗口;?、?“表”菜單下單擊“屬性”命令項(xiàng),在其對(duì)話框的“索引順序”列表框中選擇要啟用的索引。?、?重新打開瀏覽窗口。4.刪除索引(1)在表設(shè)計(jì)器中刪除索引方法:① 打開表,并打開表設(shè)計(jì)器,選擇“索引”選項(xiàng)卡;② 在“索引”選項(xiàng)卡中單擊要?jiǎng)h除的索引,然后單擊“刪除”按鈕。實(shí)例:試用上述方法刪除“學(xué)生檔案表.CDX”中的名為“ABPX”的索引。,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作4.
47、刪除索引(2)利用命令刪除索引命令格式:DELETE TAG 功能:刪除當(dāng)前結(jié)構(gòu)復(fù)合索引文件中名為的索引。如:USE 學(xué)生檔案表 DELE TAG BAPX MODI STRU,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作5.建立其它類型索引文件的命令(1)建立單獨(dú)索引文件命令格式:INDEX ON TO 功能:按建立單獨(dú)索引文件,文件擴(kuò)展名為.IDX。如:USE 學(xué)生檔案表INDEX
48、ON 專業(yè) TO ZYSY LIST DIR *.IDX,§ 3.1 表的創(chuàng)建與操作,3.1.4 表的索引操作(2)建立非結(jié)構(gòu)復(fù)合索引文件及索引命令格式:INDEX ON TAG [ OF ] [ FOR] [ASCENDING | DESCENDING]功能:建立主名為的非結(jié)構(gòu)復(fù)合索引文件,并在其中按建立名為的索引?;蛑辉谄渲薪⒁粋€(gè)索引。其文件擴(kuò)展名為.CDX。如:INDEX ON 姓名 TAG XM
49、 OF DASY1 DIR *.CDX,§ 3.1 表的創(chuàng)建與操作,3.1.5一般文件操作命令1.顯示磁盤文件目錄命令格式:DIR []說(shuō)明:(1)文件名中可使用驅(qū)動(dòng)器名和路徑;(2)文件名中可以使用通配符號(hào);(3)省略選項(xiàng),只顯示當(dāng)前文件夾中的擴(kuò)展名為.DBF的文件。如:DIR DIR *.* DIR C:\* .COM DIR *.FPT,§ 3.1 表的創(chuàng)建與操作,3.1.5一般
50、文件操作命令2.文件更名命令格式:RENAME TO 說(shuō)明:(1)中必須含擴(kuò)展名;(2)中不允許含路徑信息。(3)若更改表名,該表必須關(guān)閉。如:RENA LCXS.DBF TO 計(jì)算機(jī)學(xué)生.DBF DIR,§ 3.1 表的創(chuàng)建與操作,3.1.5一般文件操作命令3.復(fù)制任意類型文件命令格式:COPY FILE TO 說(shuō)明:(1)中必須含擴(kuò)展名;(2)兩中都可含有驅(qū)動(dòng)器名和路徑信息;(3)
51、若被復(fù)制的文件為表,則該表必須關(guān)閉。如:DIR *.TXT COPY FILE VFP6FAQ.TXT TO AA.TXT DIR *.TXT USE COPY FILE 學(xué)生成績(jī)表.DBF TO D:XSCJ.DBF DIR D:,§ 3.1 表的創(chuàng)建與操作,3.1.5一般文件操作命令4.文件刪除命令格式:DELETE FILE | ERASE 說(shuō)明:(1)文件名中必須含擴(kuò)展名;文件名中可以含驅(qū)
52、動(dòng)器名和路徑信息;(2)若被刪除的文件為表,則該表必須關(guān)閉。如:DELETE FILE AA.TXT DELETE FILE 計(jì)算機(jī)學(xué)生.DBFERASE D:XSCJ.DBFERASE XSDA.DBFDIR DIR *.TXT,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.1創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是Visual FoxPro的一種容器文件,在其中可以包含一個(gè)或多個(gè)表、本地視圖、遠(yuǎn)程視圖、連接和存儲(chǔ)過(guò)程等。它的擴(kuò)展名
53、為“.DBC”。 1.菜單方式:(1)“文件”菜單下選“新建”項(xiàng);(2)在文件類型選擇對(duì)話框中選“數(shù)據(jù)庫(kù)”,然后單擊“新建文件”按鈕;(3)在“創(chuàng)建”對(duì)話框中輸入數(shù)據(jù)庫(kù)名(如:STUDENT),然后單擊“保存”按鈕。此時(shí),我們可以看到如圖所示的數(shù)據(jù)庫(kù)設(shè)計(jì)器。,圖3-26 新建的數(shù)據(jù)庫(kù),§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.1創(chuàng)建數(shù)據(jù)庫(kù)2.命令方式:命令格式:方法一:創(chuàng)建數(shù)據(jù)庫(kù)文件并打開數(shù)據(jù)庫(kù)設(shè)計(jì)器MODIFY
54、 DATABASE 方法二:只創(chuàng)建數(shù)據(jù)庫(kù)文件CREATE DATABASE 如:MODIFY DATABASE STUDENT DIR *.DBC 或:CREATE DATABASE STUDENT MODIFY DATABASE,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.2打開和關(guān)閉數(shù)據(jù)庫(kù)設(shè)計(jì)器1.打開數(shù)據(jù)庫(kù)設(shè)計(jì)器作用:將數(shù)據(jù)庫(kù)文件調(diào)入內(nèi)存,并打開其設(shè)計(jì)器窗口。(1)菜單方式:1)“文件”菜單下單
55、擊“打開”項(xiàng);2)在“打開”對(duì)話框中,文件類型選擇“數(shù)據(jù)庫(kù)(.DBC)”,然后在文件列單中選擇要打開的數(shù)據(jù)庫(kù)名。實(shí)例:先關(guān)閉數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口,再用上述方法打開“STUDENT.DBC”,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.2打開和關(guān)閉數(shù)據(jù)庫(kù)設(shè)計(jì)器1.打開數(shù)據(jù)庫(kù)設(shè)計(jì)器(2)命令方式:命令格式:MODIFY DATABASE 如:MODI DATA STUDENT 說(shuō)明:若只打開數(shù)據(jù)庫(kù)而不打開設(shè)計(jì)器,可用“
56、OPEN DATABASE ”命令。2.關(guān)閉數(shù)據(jù)庫(kù)設(shè)計(jì)器作用:關(guān)閉數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口(1)菜單方式:直接單擊其窗口的關(guān)閉按鈕?;騿螕粼O(shè)計(jì)器后,在“文件”菜單下選“關(guān)閉”。(2)命令方式:CLOSE DATABASE說(shuō)明:上述命令方式不僅關(guān)閉了數(shù)據(jù)庫(kù)設(shè)計(jì)器,同時(shí)也關(guān)閉了數(shù)據(jù)庫(kù)。,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.3向數(shù)據(jù)庫(kù)中加入和刪除表 1.向數(shù)據(jù)庫(kù)中添加表(1)菜單方式:1)打開數(shù)據(jù)庫(kù)設(shè)計(jì)器,在“數(shù)據(jù)庫(kù)”菜
57、單中選“添加表(A)…”;2)在“打開”對(duì)話框中選擇要添加的表(如:學(xué)生檔案表.DBF),然后擊“確定”按鈕,此時(shí)會(huì)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中看到有表加入到數(shù)據(jù)庫(kù)中。說(shuō)明:上述第1)步的操作也可以對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)器擊右鍵,選“添加表”。 或在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”工具欄單擊“添加表”工具按鈕。若屏幕未出現(xiàn)“數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄”,可在“顯示”菜單下單擊“工具欄…”選項(xiàng)后將其選出 。(2)命令方式:命令格式:ADD TABLE 如:ADD TABL
58、E 學(xué)生成績(jī)表,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.3向數(shù)據(jù)庫(kù)中加入和刪除表 2.在數(shù)據(jù)庫(kù)中建立新表(1)菜單方式:1)打開數(shù)據(jù)庫(kù)設(shè)計(jì)器;2)在“數(shù)據(jù)庫(kù)”菜單下選“新建表(N)…”(也可以在快捷菜單或在設(shè)計(jì)器工具欄選擇);3)在“創(chuàng)建”對(duì)話框中輸入新表名,擊“確定”按鈕后建立結(jié)構(gòu)和輸入數(shù)據(jù)即可。實(shí)例:在“STUDENT.DBC”中建立新表“計(jì)算機(jī)實(shí)驗(yàn)表.DBF”。(2)命令方式:命令格式:CREATE
59、如:CREATE 物理實(shí)驗(yàn)表 &可隨意輸入若干內(nèi)容,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.4數(shù)據(jù)庫(kù)中的表的設(shè)置 1.打開數(shù)據(jù)庫(kù)表設(shè)計(jì)器方法:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中單擊某表,然后在“數(shù)據(jù)庫(kù)”菜單下選“修改(Y)…”項(xiàng)。說(shuō)明:1)也可利用其快捷菜單的“修改”項(xiàng)或數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄的“修改表”按鈕。2)也可用前述的打開自由表設(shè)計(jì)器的方法打開。2.設(shè)置表中字段的顯示標(biāo)題字段標(biāo)題的設(shè)置方法:在表設(shè)計(jì)器的“標(biāo)題”框中輸入
60、標(biāo)題內(nèi)容即可。輸入完畢后,選擇該表并在“數(shù)據(jù)庫(kù)”菜單中單擊“瀏覽”選項(xiàng),在瀏覽窗口我們將可以看到被設(shè)定字段上方的說(shuō)明文字已變?yōu)樽侄螛?biāo)題?!纠?-7】對(duì)學(xué)生檔案表.DBF 的“學(xué)號(hào)”字段加標(biāo)題“學(xué)生編號(hào)”,如圖。,圖3-29 數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器窗口,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.4數(shù)據(jù)庫(kù)中的表的設(shè)置 3.設(shè)置表中字段的輸入掩碼利用“輸入掩碼”項(xiàng),我們可以限定某字段允許輸入的數(shù)據(jù)類型和數(shù)據(jù)輸入的格式。字段掩碼的
61、輸入方法:在表設(shè)計(jì)器“輸入掩碼”框中按字段值要求輸入相應(yīng)的掩碼屏蔽符即可。掩碼屏蔽符表見表3-2。4.設(shè)置字段的默認(rèn)值、注釋及有效性規(guī)則在表設(shè)計(jì)器中,我們還可以設(shè)置字段的默認(rèn)值、注釋及有效性規(guī)則。 實(shí)例:對(duì)“學(xué)生檔案表.DBF”進(jìn)行下述設(shè)置:“民族”字段設(shè)默認(rèn)值為“漢”; “獎(jiǎng)學(xué)金”字段注釋為“第一學(xué)期獎(jiǎng)學(xué)金按入學(xué)成績(jī)情況發(fā)放”; “獎(jiǎng)學(xué)金”字段的有效性規(guī)則為“獎(jiǎng)學(xué)金>=0 .AND. 獎(jiǎng)學(xué)金<=2000”;“獎(jiǎng)學(xué)金”
62、字段信息欄內(nèi)容為“數(shù)據(jù)超出范圍,請(qǐng)輸入0—2000之間的數(shù)值”。然后打開該表的瀏覽窗口,試對(duì)其追加記錄,并將獎(jiǎng)學(xué)金字段值輸入為3000,查看有何問(wèn)題。,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.4數(shù)據(jù)庫(kù)中的表的設(shè)置 5.長(zhǎng)表名的輸入和應(yīng)用 對(duì)于數(shù)據(jù)庫(kù)表,除其原本的表名外,我們還可以為其設(shè)置一個(gè)“長(zhǎng)表名”?!伴L(zhǎng)表名”不同于文件名,它只是一個(gè)標(biāo)識(shí)。在數(shù)據(jù)庫(kù)設(shè)計(jì)器等環(huán)境中,它可以作為該表的標(biāo)題名使用。這樣我們?yōu)槊畈僮鞣奖悖蓪?/p>
63、表以字母命名,然后為其加一個(gè)漢字長(zhǎng)表名,使得在其它操作中該表便于識(shí)別?! ¢L(zhǎng)表名輸入方法:在表設(shè)計(jì)器選擇“表”選項(xiàng)卡,然后在“表名”框中輸入長(zhǎng)表名。實(shí)例:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中新建一個(gè)表“B1.DBF”(內(nèi)容隨意)。建立完成后,再重新打開其表設(shè)計(jì)器,為其設(shè)置長(zhǎng)表名“練習(xí)用表”。 輸入完畢時(shí)查看數(shù)據(jù)庫(kù)設(shè)計(jì)器中該表的標(biāo)題有何變化,并用“DIR”命令查看原表名是否變化。,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.5在數(shù)據(jù)庫(kù)中建立表間的關(guān)
64、系 要對(duì)表建立關(guān)系,首先要求各個(gè)欲建立關(guān)系的表要有相同屬性的字段,其后要求各表都要按該字段建立索引。在相互關(guān)聯(lián)的諸表中,起主導(dǎo)作用的表稱“父表”,與父表關(guān)聯(lián)的表稱“子表”。1.建立表間的一對(duì)一關(guān)系所謂建立一對(duì)一關(guān)系,即是建立關(guān)系的各表中,其關(guān)聯(lián)字段的值是不重復(fù)的,它們有一一對(duì)應(yīng)的關(guān)系。建立方法:1)打開數(shù)據(jù)庫(kù)文件及“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口 (如“STUDENT.DBC”。該窗口應(yīng)含有兩個(gè)或兩個(gè)以上的表) ;2)確定父表和子表,
65、并利用表設(shè)計(jì)器將父表中與子表相同的字段定義為主索引字段,而子表中的該字段定義為候選索引或主索引字段。(如學(xué)生檔案表和成績(jī)表的“學(xué)號(hào)”字段);(3)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,將父表中有主索引標(biāo)識(shí)的索引名拖動(dòng)到子表的相同索引名上。此時(shí)在兩表間出現(xiàn)一條“一對(duì)一連線”,如圖。,圖3-30 表的一對(duì)一關(guān)系,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.5在數(shù)據(jù)庫(kù)中建立表間的關(guān)系 2.建立表間的一對(duì)多關(guān)系所謂建立一對(duì)多關(guān)系,即是指父表的關(guān)聯(lián)字段的
66、值是不重復(fù)的,而子表中相應(yīng)字段的值可以是重復(fù)的,這樣建立起的表間關(guān)系。建立方法:1)打開數(shù)據(jù)庫(kù)文件及“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口 (如“STUDENT.DBC”。該窗口應(yīng)含有兩個(gè)或兩個(gè)以上的表) ;2)確定父表和子表,并利用表設(shè)計(jì)器將父表中與子表相同的字段定義為主索引字段,而子表中的該字段定義為普通索引字段。(如學(xué)生檔案表和計(jì)算機(jī)實(shí)驗(yàn)表的“學(xué)號(hào)”字段);3)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,將父表中有主索引標(biāo)識(shí)的索引名拖動(dòng)到子表的相同索引名上。此時(shí)在兩
67、表間出現(xiàn)一條“一對(duì)多連線”,如圖。說(shuō)明:1)雙擊關(guān)聯(lián)線可設(shè)置兩表間的關(guān)聯(lián)關(guān)系。2)單擊關(guān)聯(lián)線并按Delete鍵,可刪除該關(guān)聯(lián)線,即取消兩表間的關(guān)聯(lián)關(guān)系。(也可右擊關(guān)聯(lián)線,然后在快捷菜單中選“刪除關(guān)系”)。,圖3-31 表的一對(duì)多關(guān)系,§ 3.2 數(shù)據(jù)庫(kù)創(chuàng)建與操作,3.2.6建立相關(guān)聯(lián)表的參照完整性規(guī)則 1.建立方法:1)打開含有相關(guān)聯(lián)表的數(shù)據(jù)庫(kù)設(shè)計(jì)器(如STUDENT.DBC);2)在“數(shù)據(jù)庫(kù)”菜單下選擇“編輯參
68、照完整性”;(也可以右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器或表關(guān)聯(lián)線,選“編輯參照完整性”)3)在參照完整性生成器中,利用各選項(xiàng)卡設(shè)置對(duì)表操作時(shí)的“更新規(guī)則”、“刪除規(guī)則”和“插入規(guī)則”。如圖所示。 2.規(guī)則選項(xiàng)說(shuō)明:1)更新規(guī)則級(jí)聯(lián)——用新的關(guān)鍵字值更新子表中的所有相關(guān)記錄;限制——若子表中有相關(guān)記錄則禁止更新;忽略——允許更新,不管子表中的相關(guān)記錄。2)刪除規(guī)則級(jí)聯(lián)——?jiǎng)h除子表中的所有相關(guān)記錄;限制——若子表中有相關(guān)記錄,則禁止刪除;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第三章 數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)
- 第三章數(shù)據(jù)庫(kù)與表的創(chuàng)建及使用_2 - 副本
- 數(shù)據(jù)庫(kù)第三章習(xí)題
- 7.第三章數(shù)據(jù)庫(kù).doc
- 第三章表的創(chuàng)建與管理
- 數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)教程第三章答案
- 第三章 創(chuàng)建查詢和視圖
- 數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)教學(xué)教材第三章答案
- 第4章 數(shù)據(jù)庫(kù)與表的創(chuàng)建和操作2
- 第3章 數(shù)據(jù)庫(kù)和表的創(chuàng)建
- 第三章操作系統(tǒng)
- 第三章精餾操作技術(shù)
- 第三章基礎(chǔ)數(shù)據(jù)_secret
- 操作系統(tǒng)第三章作業(yè)
- 第三章 例題與解析(操作題)
- 操作系統(tǒng)第三章作業(yè)
- 第三章 visual foxpro數(shù)據(jù)基礎(chǔ)
- 第三章習(xí)題和答案
- 第三章 巫術(shù)和神話
- 第三章 肥皂和香皂
評(píng)論
0/150
提交評(píng)論