版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《VFP應(yīng)用與開發(fā)案例教程》
第三章VisualFoxPro熬據(jù)庫和表
本章教學(xué)要求:掌握數(shù)據(jù)庫和表的建立,對表的基本
操作。______________________________________________
3.1VisualFoxPro數(shù)據(jù)庫和表的建立
3.2VisualFoxPro表記錄的操作
3.3表的統(tǒng)計
3.4表的索引
3.5多表操作
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.1VisualFoxPro數(shù)據(jù)庫和表的建政
對于一個數(shù)據(jù)庫應(yīng)用系統(tǒng)來說,如何組織好相關(guān)的數(shù)
據(jù),是數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)成功與否的關(guān)鍵。用Visual
FoxPro開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)時,通常應(yīng)建立一個數(shù)據(jù)庫,
再在數(shù)據(jù)庫下面建立若干個表和視圖,一個表在一個時
期只能屬于一個數(shù)據(jù)庫,一個表也可以是一個自由表,
即不屬于任何數(shù)據(jù)庫。
應(yīng)當(dāng)說明的是數(shù)據(jù)庫是表、視圖和連接等的集合,數(shù)
據(jù)記錄內(nèi)容是存放在表中的,如圖3-1所示。
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
學(xué)生學(xué)籍庫
圖3-1學(xué)生學(xué)籍庫的組成
總目錄UIOIH遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.1.1數(shù)據(jù)庫的建立
在VisualFoxPro中有多種方法建立數(shù)據(jù)庫。
?在命令窗口中輸入命令
格式:Createdatabase數(shù)據(jù)庫名
例如:在命令窗口中輸入:
Createdatabasec:\學(xué)籍管理、學(xué)生學(xué)籍庫
將在“c:\學(xué)籍管理”文件夾下創(chuàng)建一個文件名為“學(xué)生
學(xué)籍庫.DBC”數(shù)據(jù)庫。
總目錄K』THOI遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
?通過菜單或工具欄上的“新建”命令
步驟:
點擊工具欄上的“新建”按鈕,
出現(xiàn)如圖3-2所示的“新建”對
話框,選擇“數(shù)據(jù)庫”,然后點
擊“新建文件”按鈕,出現(xiàn)
“創(chuàng)建”對話框,輸入文件名
c:\學(xué)籍管理'學(xué)生學(xué)籍庫(如圖
3-3所示),點擊“保存”按鈕,
屏幕上將出現(xiàn)“數(shù)據(jù)庫設(shè)計器”
窗口,如圖3-4所不。
圖3-2新建對話框
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
圖3-3創(chuàng)建對話框
總目錄遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
圖3-4數(shù)據(jù)庫設(shè)計器窗口
總目錄遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
?使用數(shù)據(jù)庫向?qū)?chuàng)建數(shù)據(jù)庫
步驟:
點擊工具欄中的“新建”按鈕,出現(xiàn)“新建”對話框,
選擇“數(shù)據(jù)庫”,然后點擊“向?qū)А卑粹o,按照屏幕指
示進(jìn)行操作即可。
3.1.2數(shù)據(jù)庫的打開與關(guān)閉
1.打開數(shù)據(jù)庫
?使用OpenDataBase命令
格式:OpenDataBase[〈數(shù)據(jù)庫名[?>]
[Shared|Exclusive][Noupdate][Validate]
總目錄?i[dHIRA遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
命令參數(shù):
若省略數(shù)據(jù)庫名或用?代替數(shù)據(jù)名,則系統(tǒng)將顯示
“打開”對話框,讓用戶從中選擇現(xiàn)有的數(shù)據(jù)庫。
Shared:表式以共享方式打開數(shù)據(jù)庫。
Exclusive:表式以獨占方式打開數(shù)據(jù)庫。
Noupdate:指定不能對數(shù)據(jù)庫進(jìn)行修改操作,即只能
對數(shù)據(jù)庫進(jìn)行讀操作。
Validate:指定在打開數(shù)據(jù)庫時對數(shù)據(jù)庫中的表和索
引是否可用進(jìn)行檢查。
例如:打開c:\學(xué)籍管理'學(xué)生學(xué)籍庫.dbc數(shù)據(jù)庫
opendatabasec:\學(xué)籍管理'學(xué)生學(xué)籍庫
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
?在VisualFoxPro的集成環(huán)境中打開數(shù)據(jù)庫
點擊工具欄中的“Open”按鈕,然后在“打開”對話框中
選擇要打開的數(shù)據(jù)庫文件。
說明:當(dāng)數(shù)據(jù)庫打開后,若要使用表還必須使用Use命令
打開表。
2.關(guān)閉數(shù)據(jù)庫
?使用CloseDataBase命令
格式:CloseDataBase[All]
命令參數(shù):
總目錄-1[dHIRA遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
All:關(guān)閉當(dāng)前數(shù)據(jù)庫和表,如果沒有當(dāng)前數(shù)據(jù)庫,則
關(guān)閉所有已打開的自由表、索引文件和格式文件,并把
當(dāng)前工作區(qū)設(shè)為1。
3.1.3表的建立
在VisualFoxPro中表是非常重要的,數(shù)據(jù)都是以記錄的形
式存放在表中的,表由兩部分組成:表結(jié)構(gòu)和記錄,
創(chuàng)建一個表時,首先應(yīng)創(chuàng)建表結(jié)構(gòu),然后再根據(jù)需要輸
入數(shù)據(jù),創(chuàng)建一個表結(jié)構(gòu)時,應(yīng)事先確定表結(jié)構(gòu)的如下
內(nèi)容:
?字段名
只能以字母、下劃線和漢字開始,后面可跟字母、數(shù)字、
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
下劃線和漢字。每個字段名的最大長度不超過10個字符。
下列符號不能用于表字段名:
@#$%A&*空格!?VisualFoxPro的保留字等
?數(shù)據(jù)類型、寬度及小數(shù)據(jù)位數(shù)
VisualFoxPro表中常用的數(shù)據(jù)類型:
VisualFoxPro子段數(shù)據(jù)類型表:
小數(shù)
寬度位數(shù)
備注
(字節(jié))
字符型(Character)<=254任意字符
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
字符型(Character))<=254任意字符
貨幣型(Currency)8
數(shù)值型(Numeric)<=20<=19
浮動型(Float)<=20<=19
日期型(Date)8
日期時間型
8
(DateTime)
總目錄UIOIH遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
雙精度型(Double)8<=7
整型(Integer)4
邏輯型(Logical)1
__________
備注型(Memo)4
保存OLE對象的
通用型(General)
f用
字符型(二進(jìn)制)保存數(shù)據(jù)不經(jīng)代
<=254
(Binary)碼頁修改
備注型(二進(jìn)制)保存數(shù)據(jù)不經(jīng)代
4
(MemoBinary)碼頁修改
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
在VisualFoxPro中創(chuàng)建新表的方法有多種,但通常是
在VisualFoxPro的集成開發(fā)環(huán)境中點擊“文件”菜單
一“新建”,在彈出的新建對話框中選擇“表”,然后
選擇“新建文件”按鈕,屏幕上出現(xiàn)“創(chuàng)建”對話框,
在該對話框中鍵入表文件名(如圖3-5所示),鍵入表文
件名后,點擊“保存”按鈕,屏幕上出現(xiàn)“表設(shè)計器”
窗口,在“表設(shè)計器”窗口中輸入表結(jié)構(gòu)(如圖3-6所
示),輸入完成后點擊“確定”按鈕,屏幕上出現(xiàn)“現(xiàn)
在輸入數(shù)據(jù)記錄嗎?”對話時,若選擇“否”則不輸入
數(shù)據(jù),若選擇“是”則屏幕上出現(xiàn)數(shù)據(jù)記錄輸入窗口,
可在其中輸入數(shù)據(jù)(如圖3-7所示),輸入完成后關(guān)閉數(shù)
據(jù)記錄輸入窗口即可。
注:備注型輸入方法是當(dāng)光標(biāo)移動到備注型字段時按
"Ctrl+PageDown"鍵,屏幕上就會出現(xiàn)輸入備注型字段
的編輯窗體,如圖3-7所示。
總目錄IkIBEB遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
初建3兇
保存在9:|二|學(xué)籍管理三]勺固座圈▼
輸入表名:
保存類型Q):
圖3-5創(chuàng)建對話框
總目錄遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
圖3-6表設(shè)計器-學(xué)生基本信息表結(jié)構(gòu)
總目錄3遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
當(dāng)學(xué)生基本信息表.苻歷-1□1x|
學(xué)時獲市三好學(xué)_|
生稱號
號
名
-姓
眸
文
別
-性T
生
-出
高
-身
歷
簡
單
號
姓
名
張
和平
性
利T
生
出
高
身
歷
簡
memo
孽
一
號
!
姓
名
I*I」
一
圖3-7數(shù)據(jù)記錄輸入
總目錄遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.1.4表的打開與關(guān)閉
1.通過菜單操作打開表
操作步驟:
點擊“文件”菜單一“打開”,屏幕上出現(xiàn)“打開”文
件對話框,選擇要打開的表文件(如圖3-8所示),然后
點擊“確定”按鈕即可。
注:在圖3-8中,若選擇了“以只讀方式打開(R)”,則
只能對打開的表進(jìn)行讀操作不能進(jìn)行修改、刪除和增加
等操作;若選擇了“獨占”,則其它用戶此時只能以共
享方式打開該表。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
1打開
查找范圍(X)|_y學(xué)籍營理734■直今回一
dH]^^4.dbF
學(xué)生基本信息表.dbf
文件名3M|學(xué)生基本信息表dbf
文件類型(X):|表(*.ab£)三1
L以只讀方式打開電)
代碼頁W
r-獨占(£)
圖3-8“打開”對話框
總目錄遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
2.通過命令打開表
在VisualFoxPro的命令窗口中使用Use命令打開表。
命令格式:Use〈表文件名〉[Shared|Exclusive][Alias<
別名刁
命令參數(shù):
Shared:指定以共享方式打開表,以這種方式打開的表,
可以對表進(jìn)行增加、刪除和修改數(shù)據(jù)記錄的操作,但不
能修改表結(jié)構(gòu)。
Exclusive:指定以獨占方式打開表,以這種方式打開的
表,除可以對表進(jìn)行增加、刪除和修改數(shù)據(jù)記錄的操作,
還可以修改修表的結(jié)構(gòu)。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
若不指定打開方式,則以獨占方式打開表。
Alias〈別名〉:指定打開表的別名,若省略該參數(shù),表的
別名就是表名。
例如要共享方式打開表C:\學(xué)籍管理'學(xué)生基本信息表.dbf,
可使用如下命令:
UseC:\學(xué)籍管理'學(xué)生基本信息表.dbfShared
若要對表進(jìn)行操作,必須先打開表。
3.表的關(guān)閉
對表的操作完成后,應(yīng)及時關(guān)閉表。
命令格式:Use
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.2VisualFoxPro表憶錄的據(jù)作
3.2.1記錄指針定位
在VisualFoxPro中當(dāng)打開一個表時,系統(tǒng)為該表設(shè)置一個
記錄指針,指向表中的某一條記錄,記錄指針指向的記
錄稱為當(dāng)前記錄。當(dāng)數(shù)據(jù)表剛打開時,記錄指針指向第
一條記錄,若要移動記錄指針可使用下面的命令。
1.Go/GoTo命令
命令格式:
Go/GoTo[[RECORD]〈記錄號>|<TOP>|<BOTTOM刁[In<
工作區(qū)>|〈表別名刁
命令功能:移動記錄指針。
總目錄-1[dHIRA遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
命令參數(shù):
[RECORD]〈記錄號〉:將表記錄指針移到〈記錄號〉指定
的記錄。
TOP:將表記錄指針移到第一條記錄。
BOTTOM:將表記錄指針移到最后一條記錄。
[In〈工作區(qū)>|〈表別名刁:指定要移到記錄表所在的工作
區(qū),若省略該參數(shù)則是對當(dāng)前工作的表進(jìn)行操作。
例如將當(dāng)前工作區(qū)的表的記錄指針移到第3條記錄,可使
用如下命令:
GoTo3
或者
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
Go3
或者
3
2.Skip命令
命令格式:Skip卜數(shù)值表達(dá)式習(xí)[Inv工作區(qū)>|〈表別名習(xí)
命令功能:移動記錄指針。
命令參數(shù):
〈數(shù)值表達(dá)式〉:指定記錄指針移動的相對記錄數(shù),即若v
數(shù)值表達(dá)式〉為正數(shù),表示記錄指針向文件尾方向移動,為
負(fù)數(shù)表示向文件頭方向移動記錄指針;若省略該參數(shù),則
表示記錄指針向文件尾方向移動一個記錄位置。
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
In〈工作區(qū)>|〈表別名〉:指定要移動記錄指針的工作區(qū)或
表別名。
例如假設(shè)當(dāng)前工作區(qū)的當(dāng)前記錄為12,總共有30條,執(zhí)
行如下程序:
Skip-1&&記錄指針移到第n條記錄
Skip-90&&記錄指針移到第1條記錄
Skip&&記錄指針移到第2條記錄
Skip100&&記錄指針移到第30條記錄,即最后一條
Skip&&出錯,因為已到文件尾
與記錄指針移動有關(guān)的函數(shù)有3個:
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
Recno():返回當(dāng)前記錄號。
Bof():測試記錄指針是否已到文件頭,若已到文件頭返
回.T.,否則返回.F.。
Eof():測試記錄指針是否已到文件尾,若已到文件尾返
回.T.,否則返回.F?。
3.2.2增加記錄
向表中增加記錄主要有兩種方式,一種是直接通過全屏
幕方式從鍵盤輸入數(shù)據(jù),另一種是從其它表文件中把有
關(guān)數(shù)據(jù)記錄添加到表中。
1.從鍵盤輸入新記錄
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
(1)Apppend命令
命令格式:Append[Blank][In工作區(qū)|表別名][NoMenu]
命令功能:在表的最末尾添加記錄。
命令參數(shù):
Blank:若有該參數(shù),則在表的末尾添加一條新記錄,若
沒有該參數(shù),則屏幕上出現(xiàn)數(shù)據(jù)輸入窗體,在該窗體中
可進(jìn)行添加記錄操作,如圖3-9所示。
In工作區(qū)|表別名:指定要對哪一個工作區(qū)的表進(jìn)行操作,
省略該參數(shù),則是向當(dāng)前工作區(qū)的表添加記錄。
NoMenu:指定從系統(tǒng)菜單中刪除“表”菜單項。
總目錄KIKi131遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
tnjJ
圖3-9向表中追加記錄
總目錄kIIKWH遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
例如,要向表“C:\學(xué)籍管理'學(xué)生基本信息表.dbf,添加一
個空白記錄,可在命令窗口中輸入如下命令:
UseC:\學(xué)籍管理'學(xué)生基本信息表&&若表文件的擴展
名為.DBF可省略
AppendBlank
Use&&關(guān)閉表
(2)Insert命令
命令格式:Insert[Before][Blank]
命令功能:在當(dāng)前表中插入新的記錄。
命令參數(shù):
總目錄??MIMOIRA遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
Before:在當(dāng)前記錄之前插入新記錄,若沒有該參數(shù)則是
在當(dāng)前記錄之后插入新記錄。
Blank:插入一條空記錄,屏幕上不出現(xiàn)數(shù)據(jù)輸入窗口;
若沒有該參數(shù),屏幕上出現(xiàn)數(shù)據(jù)輸入窗口,用戶可以輸
入新的數(shù)據(jù)。
例如在表“C:\學(xué)籍管理'學(xué)生基本信息表.dbF的第3和第
4條記錄之間插入新的記錄,可在命令窗口輸入如下命令:
UseC:\學(xué)籍管理'學(xué)生基本信息表.DBF
Go3&&使當(dāng)記錄指針指向第4條記錄
Insert
Use
總目錄KIra遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
2.從其它表文件中把有關(guān)數(shù)據(jù)記錄添加到表
命令格式:
AppendFrom[文件名[?][Fields〈字段列表刁[For〈條件表
達(dá)式刁
命令功能:從其它文件中將所需的數(shù)據(jù)復(fù)制到當(dāng)前表中。
命令參數(shù):
文件名:指定源數(shù)據(jù)文件名,即數(shù)據(jù)來自哪一個文件。
?:當(dāng)執(zhí)行該命令時,顯示打開文件對話框,讓用戶從中
選擇一個源數(shù)據(jù)文件。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
Fields〈字段列表〉:指定要將源表的哪些字段復(fù)制到當(dāng)前
表中,若有多個字段,字段之間用逗號”隔開,若
省略該參數(shù),則是將源表的所有字段值復(fù)制到當(dāng)前表以
對應(yīng)的字段中去。
Forv條件表達(dá)式,:指定添加記錄的條件,只有符合條件
的記錄才會被添加到當(dāng)前表中,若省略該參數(shù),則是將
源數(shù)據(jù)文件所有的記錄添加到當(dāng)前表中。
例如,C:\學(xué)籍管理'新生數(shù)據(jù).DBF的內(nèi)容如圖3-10所示,
C:\學(xué)籍管理'學(xué)生基本信息表.DBF的內(nèi)容如圖3-11所示。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
新生數(shù)露-!□1x|
出生日期|政治貌
李光輝07/14/1985:黨員memo
11/17/1985i
羅麗07/04/19861memo
酸雨德畬63/18/198510^
圖3-10新生數(shù)據(jù)表內(nèi)容
總目錄遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
勵學(xué)生基本信息表
學(xué)號姓名性別出生日期
20040805W-07/04/1985i170.3|memo
20040807張和平06/13/1985
20040805劉軍07/04/1985:170.3Jmemo
20040807張和平06/13/1985i175.0?Memo
圖3-11學(xué)生基本信息表內(nèi)容
總目錄遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
將C:\學(xué)籍管理'新生數(shù)據(jù).DBF文件中的所有記錄復(fù)制到
C:\學(xué)籍管理、學(xué)生基本信息表.DBF中,在命令窗口中輸入
如下命令:
UseC:\學(xué)籍管理'學(xué)生基本信息表.DBF
AppendFromC:\學(xué)籍管理'新生數(shù)據(jù).DBF
Use
上述命令執(zhí)行完后,表C:\學(xué)籍管理'學(xué)生基本信息表.DBF
的內(nèi)容如圖3-12所示
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
圖3-12追加記錄后學(xué)生基本信息表內(nèi)容
總目錄遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.2.3刪除記錄與恢復(fù)
當(dāng)表中的數(shù)據(jù)不再需要時,應(yīng)將刪除。為了防止誤刪
除,在VisualFoxPro中刪除記錄分兩步進(jìn)行,第一步是邏
輯刪除,即只在要刪除的記錄上作一個刪除標(biāo)記,數(shù)據(jù)
記錄并沒有真正從表中刪除,當(dāng)發(fā)現(xiàn)刪除操作有誤時,
還可以用恢復(fù)命令將其恢復(fù),顯然只被邏輯刪除的記錄
仍要占用硬盤空間,被邏輯刪除的記錄在列表顯示(List
或Display)時記錄前有一個刪除標(biāo)記"”或“■”(用
Browse瀏覽記錄時);第二步是物理刪除,即將作了刪
除標(biāo)記的記錄從硬盤中徹底刪除,物理刪除后的記錄不
可以再恢復(fù)。
1.邏輯刪除
總目愚forV條件習(xí)[While〈條件習(xí)
《VFP應(yīng)用與開發(fā)案例教程》
1.邏輯刪除
命令格式:Delete卜范圍習(xí)[For〈條件刁[While〈條件刁
[In〈工作區(qū)>|〈表別名刁
命令功能:對符合條件的記錄進(jìn)行邏輯刪除。
命令參數(shù):
〈范圍〉:指定要操作的記錄范圍,該參數(shù)可以是:
All:所有記錄。
Nextn:從當(dāng)前記錄開始的后面n個記錄。
Recordn:第n號記錄。
Rest:從當(dāng)前記錄開始一直到文件結(jié)束。
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
For<條件>:指定要作刪除標(biāo)記的條件,依次對指定范圍
內(nèi)的記錄進(jìn)行操作,若條件為真,對記錄作刪除標(biāo)記,
否則不作刪除標(biāo)記,然后再對下范圍內(nèi)的一個記錄進(jìn)行
操作。
Whilev條件>:指定要作刪除標(biāo)記的條件,依次對指定范
圍內(nèi)的記錄進(jìn)行操作,若條件為真,對記錄作刪除標(biāo)記,
若條件為假或已到范圍內(nèi)的最后一個記錄則停止。
若省略范圍、For<條件>和While<條件>參數(shù),則只刪除
當(dāng)前記錄。
若省略范圍,但有Forv條件,或Whilev條件>參數(shù),則缺
省的范圍為整個記錄。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
In〈工作區(qū)>|〈表別名〉:指定要進(jìn)行邏輯刪除的表所在的
工作區(qū)或表別名,若省略該參數(shù),則是對當(dāng)前工作區(qū)進(jìn)
行操作。
例如,假設(shè)當(dāng)前表為前面的學(xué)生基本信息表,執(zhí)行如下
操作:
Deleterecord5&&給第5條記錄加刪除標(biāo)記
Go7&&給第7條記錄成為當(dāng)前記錄
Delete&&給當(dāng)前記錄加刪除標(biāo)記
Deletefor學(xué)號='20040805'&&給學(xué)號為20040805
加刪除標(biāo)記。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
List&&列表顯示記錄
記錄號學(xué)號姓名性別出生日期身高簡歷
1*20040805劉軍.T.07/04/85170.3memo
220040807張平.T.06/13/85175.0Memo
3*20040805劉軍.T.07/04/85170.3memo
420040807張平.T.06/13/85175.0Memo
5*李光輝.T.07/14/85170.3memo
6張勇.T.11/17/85177.6Memo
7*羅麗.F.07/04/86162.8memo
8歐陽德雷.T.03/18/85175.0Memo
總目錄遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
2.物理刪除
命令格式:Pack
命令功能:將作了刪除標(biāo)記的記錄從表中徹底刪除,釋
放其所占的內(nèi)存空間。
說明:要執(zhí)行該命令,必須以獨占方式打開表。
例如:
UseC:\學(xué)籍管理'學(xué)生基本信息表.DBFexclusive
Deletefbr姓名='李勇'
Pack
Use
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
4.記錄的恢復(fù)
命令格式:RECALL卜范圍〉][FOR<條件習(xí)[WHILE〈條
件刁
命令功能:取消已打刪除標(biāo)記記錄的刪除標(biāo)記。
命令參數(shù):
〈范圍〉:參見DELETE的命令參數(shù)說明。
Forv條件,:指定要恢復(fù)記錄的條件,依次對指定范圍內(nèi)
的記錄進(jìn)行操作,若條件為真,對恢復(fù)記錄,否則不恢
復(fù),然后再對下范圍內(nèi)的一個記錄進(jìn)行操作。
Whilev條件>:指定要恢復(fù)的條件,依次對指定范圍內(nèi)的
記錄進(jìn)行操作,若條件為真,對恢復(fù)記錄,若條件為假
或已到范圍內(nèi)的最后一個記錄則停止。
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
若省略范圍、For<條件>和While<條件>參數(shù),則只恢復(fù)
當(dāng)前記錄。
若省略范圍,但有Forv條件〉或While〈條件>參數(shù),則缺省
的范圍為整個記錄。
In〈工作區(qū)>|〈表別名〉:指定要進(jìn)行恢復(fù)的表所在的工作
區(qū)或表別名,若省略該參數(shù),則是對當(dāng)前工作區(qū)進(jìn)行操
作。
例如:
UseC:\學(xué)籍管理'學(xué)生基本信息表.DBF
5&&使第5號記錄為當(dāng)前記錄
delete&&對第5號記錄作刪除標(biāo)記錄
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
7&&使第5號記錄為當(dāng)前記錄
delete&&對第7號記錄作刪除標(biāo)記錄
recall&&恢復(fù)第7號記錄
recallall&&恢復(fù)所有記錄
3.2.4修改記錄
對表記錄的修改有兩種方式:屏幕編輯方式和和程序方
式
1.屏幕編輯方式
?EDIT7cHANGE命令
命令格式:EDIT/CHANGE[FIELDS〈字段名列表刁卜范
圍習(xí)[FOR條件][WHILE條件]
總目錄?1Ml—I遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
命令參數(shù):
FIELDSv字段名列表,:指定哪些字段可以被修改。
〈范圍〉:參見DELETE命令說明。
Forv條件〉或Whilev條件>:指定要修改記錄的條件,符
合條件的記錄才會在編輯窗口中顯示并修改。
說明:EDIT和CHANGE的功能是完全相同的。
3.2.5查詢記錄
把數(shù)據(jù)放在數(shù)據(jù)表中,是為了將來在需要時對其進(jìn)行查
詢,查詢操作是數(shù)據(jù)庫操作中最常用的。
1.用Browse命令進(jìn)行瀏覽查詢
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
命令格式:
Browse[Scope][Fileds<FieldList>][fbrv條件表達(dá)式刁
功能:顯示數(shù)據(jù)表中的記錄。
參數(shù)說明:
Scope:指定記錄范圍,該參數(shù)的取值可以是:All(所有
記親)、Nextn(當(dāng)前記錄及其之后的n個記錄)、
Recordn(指定第n條記錄)和Rest(當(dāng)前記錄及其之后
的所有記錄)。若省略該參數(shù),缺省值為AL
Fields<FieldList>:指定要查詢顯示的字段名列表,若省
該參數(shù),則顯示所有字段。
for〈條件表達(dá)式〉:指定要查詢顯示的記錄應(yīng)滿足的條件。
總目錄k1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
例如:
Setcenturyon&&設(shè)置日期要顯示世紀(jì)
Setdateansi&&設(shè)置日期顯示格式為yyyy.mm.dd
Opendatabasec:\學(xué)籍管理'學(xué)生學(xué)籍庫.DBC
Use學(xué)生基本信息
Browsefor出生日期>「1980.05.23}
Close
上面的程序運行過程中將打開一個查詢窗口(如圖3-14所
示),可在其中瀏覽查詢到的記錄。
總目錄K?MIra遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
圖3-14數(shù)據(jù)瀏覽查詢窗口
總目錄遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
2,用Locate命令進(jìn)行查詢
命令格式:
Locate[Scope][forv條件表達(dá)式刁
功能:將記錄指針定位到指定記錄范圍內(nèi)滿足條件的第
一條記錄,若沒有記錄滿足條件,記錄移到記錄末尾,
Eof()函數(shù)返回“真”。
參數(shù)說明:
Scope:指定記錄范圍,該參數(shù)的取值可以是:All(所有
記親)、Nextn(當(dāng)前記錄及其之后的n個記錄)、
Recordn(指定第n條記錄)和Rest(當(dāng)前記錄及其之后
的所有記錄)。若省略該參數(shù),缺省值為All。
forv條件表達(dá)式〉:指定要查找的記錄應(yīng)滿足的條件。
總目錄?1Ml?二1ra遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3,用Continue命令進(jìn)行查詢
命令格式:
Continue
功能:激活Locate命令,繼續(xù)順查找。
例如:
Setcenturyon&&設(shè)置日期要顯示世紀(jì)
Setdateansi&&設(shè)置日期顯示格式為yyyy.mm.dd
Opendatabasec:\學(xué)籍管理'學(xué)生學(xué)籍庫.DBC
Use學(xué)生基本信息
Locatefor出生日期={A1980.05.23}
總目錄K?MIra遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
Dowhile.T.
IfEof()=.T.
?’沒有滿足條件的記錄!'
exit
else
?學(xué)號,姓名,性別,出生日期
Continue&&查找下一個出生日期為1980.05.23的記錄
Endif
Enddo
Closeall
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.2.6從表向數(shù)組傳遞數(shù)據(jù)
在VisualFoxPro中對數(shù)組大小沒有什么限制,主要取決于
磁盤和內(nèi)存空間的大小,數(shù)組存在于內(nèi)存,運行處理速
度很快。
當(dāng)前記錄傳到數(shù)組中/數(shù)組中的數(shù)據(jù)送當(dāng)前記錄:
有關(guān)命令:
1.Scatter命令
命令格式:
Scatter[Fields〈字段名列表刁[Memo]TO〈數(shù)組名〉
功能:將當(dāng)前表的當(dāng)前復(fù)制到數(shù)組中。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
參數(shù)說明:
〈字段名列表》:指定要復(fù)制到數(shù)組的字段,若省略該參
數(shù),則將所有字段復(fù)制到數(shù)組中(對于備注型字段需要
Memo參數(shù))。
Memo:指定復(fù)制備注型字段,若省略該參數(shù),則不復(fù)制
備注型字段到數(shù)組。
〈數(shù)組名〉:指定記錄要復(fù)制到的數(shù)組。
說明:若要復(fù)制的字段個數(shù)大于數(shù)組的大小,系統(tǒng)會自
動將數(shù)組的大小擴大,若數(shù)組未定義,系統(tǒng)會自動創(chuàng)建
數(shù)組。
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
2.Gather命令
命令格式:
GatherFrom〈數(shù)組名>[Fields〈字段名列表刁[Memo]
功能:將數(shù)組中的數(shù)據(jù)復(fù)制到當(dāng)前表的當(dāng)前記錄中。
參數(shù)說明:
〈數(shù)組名〉:指定要復(fù)制數(shù)據(jù)的數(shù)組。
〈字段名列表,:指定要接收數(shù)據(jù)的字段,若省略該參數(shù),
則將對所有字段進(jìn)行操作(對于備注型字段需要Memo參
數(shù))。
總目錄?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
3.2.7使用SQL語言對表進(jìn)行操作
結(jié)構(gòu)化查詢語言SQL(StructuredQueryLanguage)是目前
關(guān)系型數(shù)據(jù)庫中應(yīng)用最廣泛的語言之一,美國國家標(biāo)準(zhǔn)協(xié)
會(ANSI)早在1982年就開始著手SQL的標(biāo)準(zhǔn)化工作,
并公布了SQL標(biāo)準(zhǔn),目前SQL已成為關(guān)系型數(shù)據(jù)庫語言的
國際標(biāo)準(zhǔn)。
SQL語言具有如下特點:
?綜合統(tǒng)一。SQL語言集數(shù)據(jù)操縱語言(DML)、數(shù)
據(jù)語言(DDL)和數(shù)據(jù)控制語言的功能于一體,能獨立完
成數(shù)據(jù)庫的全部活動。
?高度非過程化。用SQL語言對數(shù)據(jù)進(jìn)行操作時,用
戶只需提出“做什么”,而不需要指出“怎么做”,也不
需要指出存取路徑,存取路徑和操作過程都由系統(tǒng)自動完
股一
?IEi—1CT1遼寧交?,F(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
?面向集合的操作方式。SQL語言的操作對象、查詢結(jié)
果都可以是元組的集合。
?SQL語言簡潔,易學(xué)易用。
SQL語言即是自主型語言,又是嵌入式語言。當(dāng)作為自主
型語言使用時,用戶通過聯(lián)機方式直接在終端上鍵入SQL
命令對數(shù)據(jù)庫進(jìn)行操作;SQL作為嵌入式語言可嵌入到其
它高級語言中使用,例如C語言、VisualFoxPro等。
值得注意的是,實際系統(tǒng)中實施的SQL語言與標(biāo)準(zhǔn)SQL語
言是有一定差異的,大部分的實際系統(tǒng)并沒有完全支持
標(biāo)準(zhǔn)的SQL,但在某些方面還對標(biāo)準(zhǔn)SQL語言進(jìn)行了擴充。
1.SELECT-SQL數(shù)據(jù)查詢命令
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
命令格式:
Selectv表達(dá)式1>[as別名1卜表達(dá)式2>[as別名2],…,V表
達(dá)式n>[as別名n]
From〈表1>,〈表2>,...,〈表m>
[Into〈輸出目標(biāo)習(xí)
[Where〈條件表達(dá)式刁
[groupby〈分組條件刁
[having〈條件表達(dá)式刁
[orderby〈排序方式封
總目錄?IEi—1CT1遼寧交專現(xiàn)教中心白夏清
《VFP應(yīng)用與開發(fā)案例教程》
參數(shù)說明:
from:指定要查找的數(shù)據(jù)來自哪些表或視圖。
Into:指出查詢結(jié)果輸出到哪里,若省該參數(shù),屏幕上會
出現(xiàn)查詢窗口顯示查詢結(jié)果。
Where:指定查詢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 磁條讀取器項目可行性實施報告
- 淋浴和沐浴用啫喱市場環(huán)境與對策分析
- 手機APP設(shè)計與開發(fā)實施指南
- 危險化學(xué)品應(yīng)急監(jiān)測流程
- Unit 5 語法(復(fù)習(xí)講義)-2023-2024學(xué)年三年級英語上冊單元速記·巧練(譯林版三起)
- 區(qū)塊鏈技術(shù)基礎(chǔ)教程
- 操作系統(tǒng)-2023-秋學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- M5U2語法復(fù)習(xí)+鞏固練習(xí)-2023-2024學(xué)年五年級英語上冊單元速記·巧練(外研版三起)
- 企業(yè)采購流程及成本控制規(guī)范
- 清潔梳市場環(huán)境與對策分析
- 員工拒絕購買社保的全文協(xié)議
- 寺院義工培訓(xùn)課件
- 小學(xué)健康體育知識講座
- 財務(wù)用發(fā)票分割單原始憑證 發(fā)票分割單范本
- 內(nèi)科吉蘭-巴雷綜合征護(hù)理教學(xué)查房
- 婦產(chǎn)科護(hù)理操作技能評分標(biāo)準(zhǔn)
- 緬甸電力配件行業(yè)分析
- 《建筑基坑工程監(jiān)測技術(shù)標(biāo)準(zhǔn)》(50497-2019)
- 園區(qū)碳排放管理平臺解決方案
- 手術(shù)安全核查制度執(zhí)行不合格原因分析品管圈魚骨圖
- 部編版七年級上冊語文第二單元(單元整合教學(xué)設(shè)計課題)
評論
0/150
提交評論