2023年VFP筆試考點答案_第1頁
2023年VFP筆試考點答案_第2頁
2023年VFP筆試考點答案_第3頁
2023年VFP筆試考點答案_第4頁
2023年VFP筆試考點答案_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章數(shù)據(jù)庫理論基礎(chǔ)

1.數(shù)據(jù)庫概念:數(shù)據(jù)庫(DataBase,DB)、數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagement

System,DBMS),數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)?數(shù)據(jù)庫系統(tǒng)涉及數(shù)據(jù)庫和數(shù)據(jù)庫管

理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)庫進(jìn)行管理的核心軟件是數(shù)據(jù)庫管理系統(tǒng)。VFP6.0屬于32位

關(guān)系數(shù)據(jù)庫管理系統(tǒng)。

2.實體間的聯(lián)系:一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)、多對一聯(lián)系(n:1)和多對多聯(lián)系(m:

n)。

例如,假如一個班只有一個班長,并且一個班長不能同時擔(dān)任其它班的班長,班級和班長兩個實體之

間的聯(lián)系是一對一。公司中有多個部門和多名職工,每個職工只能屬于一個部門,一個部門可以有多

名職工,職工與部門兩個實體之間的聯(lián)系是多對一;部門與職工兩個實體之間的聯(lián)系是一對多。在

奧運會游泳比賽中,一個游泳運動員可以參與多項比賽,一個游泳比賽項目可以有多個運動員參與,游泳

運動員與游泳比賽項目兩個實體之間的聯(lián)系是多對多聯(lián)系。

例如,在超市營業(yè)過程中,每個時段要安排一個班組上崗值班,每個收款口要配備兩名收款員配合工

作,共同使用一套收款設(shè)備為顧客服務(wù),在超市數(shù)據(jù)庫中,實體之間屬于一對一關(guān)系的是Do

A.〃顧客"與"收款口”的關(guān)系B."收款口"與“收款員”的關(guān)系

C."班組"與"收款口”的關(guān)系D."收款口"與"設(shè)備"的關(guān)系

例如,為了把多對多的聯(lián)系分解成兩個一對多聯(lián)系所建立的"紐帶表''中,應(yīng)當(dāng)包含兩個表的關(guān)鍵

說明:學(xué)生(學(xué)號,姓名,…)與課程(課程號,課程名,…)之間是多對多的聯(lián)系,為了表達(dá)這種多

對多的聯(lián)系,建立一個成績表(學(xué)號、課程號、成績),即學(xué)生表與課程表之間的"紐帶表”。這樣學(xué)生表與

成績表、課程表與成績表之間都是一對多的聯(lián)系了。

3.數(shù)據(jù)模型:層次模型(樹狀結(jié)構(gòu))、網(wǎng)狀模型和關(guān)系模型(用二維表結(jié)構(gòu)來表達(dá)實體以及實體之

間聯(lián)系的模型)。VFP支持的數(shù)據(jù)模型是關(guān)系模型,它也是最常用的一種基本數(shù)據(jù)模型。

4.關(guān)系數(shù)據(jù)系統(tǒng)的概念:數(shù)據(jù)表(也即是關(guān)系)、記錄(元組)、字段(數(shù)據(jù)項)、字段類

型、域、關(guān)鍵字(可以唯一地擬定一條記錄的一個字段(學(xué)生.dbf中的“學(xué)號"字段)或多個字段的組

合(成績.dbf中的"學(xué)號"和"課程號"字段組合),不允許有反復(fù)值或空值(NULL))、外

部關(guān)鍵字。

例如,在VFP中,關(guān)系數(shù)據(jù)庫管理系統(tǒng)所管理的關(guān)系是B。

A.一個DBF文獻(xiàn)B.若干個二維表C.一個DBC文獻(xiàn)1).若干個DBC文

獻(xiàn)

例如,在關(guān)系模型中,每個關(guān)系模式中的關(guān)鍵字C。

A.可由多個任意屬性組成B.最多由一

個屬性組成

C.可由一個或多個其值能唯一標(biāo)記關(guān)系中任何元組的屬性組成D.以上說法都不對

例如,設(shè)有表達(dá)學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課

名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為C。

A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,

成績

5.關(guān)系的特點

①關(guān)系必須規(guī)范化(關(guān)系的每個分量必須是一個不可分割的數(shù)據(jù)項,也就是說,不允許表中包含

表)O

②同一關(guān)系中不能出現(xiàn)相同的字段名(列),也不允許有完全相同的記錄(行)。

成績

學(xué)號姓名姓名

平時成績卷面成績

070100張三張三豐9585

1

0701001張三張三豐9585

③在一個關(guān)系中記錄的順序和字段的順序都無關(guān)緊要。

解釋:如在一個表中有同名字段,在執(zhí)行SELECT學(xué)號,姓名FROM成績時,系統(tǒng)就不知該取哪個

姓名字段的值;如有相同的記錄,既浪費了存儲空間,又導(dǎo)致記錄錯誤(如記錄人數(shù),一個人就記錄了兩

次)。

6.關(guān)系的運算

①選擇:從數(shù)據(jù)表中找出滿足給定條件的記錄(元組)的操作稱為選擇。選擇運算是對數(shù)據(jù)表從

行的方向上進(jìn)行的運算,往往是通過條件短語FOR/WHILE(VFP命令中)、W1IERE(SQL中)實

現(xiàn)。

②投影:從數(shù)據(jù)表中指定若干字段組成新的數(shù)據(jù)表的操作稱為投影。投影運算是對數(shù)據(jù)表從—列

的方向上進(jìn)行的運算,往往是通過短語FIELDS(VFP命令中)、SELECT(SQL中)實現(xiàn)。

③聯(lián)接:聯(lián)接運算將兩個數(shù)據(jù)表拼接成一個新的數(shù)據(jù)表,生成的新數(shù)據(jù)表中包含滿足連接條件的

記錄。自然聯(lián)接是去掉反復(fù)屬性的等值聯(lián)接。

例如,從表中選丁字段形成新關(guān)系的操作是投影;選擇滿足條件的記錄形成新關(guān)系的操作是

選擇。

例如,學(xué)生表中有"學(xué)號"、"姓名"和"年齡"三個字段,SQL語句"SELECT學(xué)號FROM學(xué)生"

完畢的操作稱為投影,SQL語句"SELECT*FROM學(xué)生WHERE年齡>=20”完畢的操

作稱為選擇。

例如,下列關(guān)系模型中,能使經(jīng)運算后得到的新關(guān)系中屬性個數(shù)多于本來關(guān)系中屬性個數(shù)的是

B,操作對象只能是一個表的關(guān)系運算是AC。A.選擇B.聯(lián)接

C.投影D.并

第2章VFP環(huán)境簡介及常用操作命令

1.常用文獻(xiàn)擴(kuò)展名及其關(guān)聯(lián)的文獻(xiàn)類型

常用文獻(xiàn)擴(kuò)展名及其關(guān)聯(lián)的文獻(xiàn)類型

擴(kuò)展名文獻(xiàn)類型擴(kuò)展名文獻(xiàn)類型

.APPVisua1FoxPro應(yīng)用程序,QPR查詢文獻(xiàn)

.EXE可執(zhí)行應(yīng)用程序.PRG源程序文獻(xiàn)

.PJX項目文獻(xiàn).FXP源程序編譯后的文獻(xiàn)

.DBF數(shù)據(jù)表文獻(xiàn).VCX可視類庫文獻(xiàn)

.FPT數(shù)據(jù)表備注文獻(xiàn).SCX表單文獻(xiàn)

.IDX數(shù)據(jù)表獨立索引文獻(xiàn).MNX菜單文獻(xiàn)

.CDX數(shù)據(jù)表復(fù)合索引文獻(xiàn).MPR生成的菜單源程序文獻(xiàn)

.DBC數(shù)據(jù)庫文獻(xiàn).FRX報表文獻(xiàn)

說明:視圖不是一個文獻(xiàn),它沒有擴(kuò)展名。視圖保存在當(dāng)前打開的數(shù)據(jù)庫中。

例如,在VFP中,可視類庫文獻(xiàn)的擴(kuò)展名是」。

A..DBFB..SCXC..VCXD..DBC

2.Visua1FoxPro可視化工具(向?qū)А⒃O(shè)計器、生成器)

?向?qū)В和ㄟ^一系列的對話框向用戶提醒每一個操作環(huán)節(jié),引導(dǎo)用戶一步步完畢各項任務(wù)。

?設(shè)計器:創(chuàng)建和修改各種組件的可視化工具。如表設(shè)計器、數(shù)據(jù)庫設(shè)計器、查詢設(shè)計器等。

?生成器:帶有多個選項卡的對話框,用來創(chuàng)建、生成或修改某種控件。如選項卡生成器。

例如,在VFP中修改數(shù)據(jù)庫、表單、報表等對象的可視化工具是」—。

A.向?qū).設(shè)計器C.生成器D.項目管理器

3.條件短語

1)在VFP命令中使用的條件短語:FOR和WHILE。記錄號

1男

①FOR〈條件》:在指定范圍內(nèi)(缺省范圍為ALL),逐條檢查記錄,符合條件的男

3

4

記錄執(zhí)行命令,不符合條件的跳過去。在命令假如使用了FOR〈條件>短語,不管該命令女

5男

6

的缺省范圍是什么,只要省略了缺省范圍,則該命令的操作范圍為ALL。\男

②WHILE〈條件》:在指定記錄范圍內(nèi)(缺省范圍為REST),逐條檢查,符合條件的記錄執(zhí)行命

令。當(dāng)碰到第一個不滿足條件的記錄,停止命令的執(zhí)行。在命令假如使用了WHILE〈條件>短語,不管該

命令的缺省范圍是什么,只要省略了缺省范圍,則該命令性別一男"1、3,4、6、

此外,尚有兩個范圍短語:NEXTN和RECORDN。'

2)在SQL中使用的條件短語:WHERE、ON和IIAVING?

①WHERE(條件):即可用于非超聯(lián)接查詢時多表間的聯(lián)接條件,也可用于多表查詢(既可是非

超聯(lián)接查詢,也可是超聯(lián)接查詢)中設(shè)立記錄滿足的條件。

②ON〈條件>:對多表進(jìn)行超聯(lián)接查詢時,用于設(shè)立多表間的聯(lián)接條件(此時不能用WHERE)。

③HAVING〈條件>:HAVING必須跟隨GROUPBY之后使用,用于限定分組必須滿足的條件。

說明:WHERE子句作用于記錄,而HAVING子句作用分組,可以使用WHERE子句的同時使用

HAVING子句(但必須在GROUPBY分組子句之后使用)。

例如,在學(xué)生.dbf和成績.dbf中查找平均成績大于等于85分的男生的學(xué)號、姓名和平舉成績。

SELECT學(xué)生.學(xué)號,姓名,AVG(成績)AS平均成績;SELECT學(xué)生.學(xué)號,姓名,AVG(成績)AS平

均成績;

FROM學(xué)生JOIN成績;FROM學(xué)生,成績;

ON學(xué)生.學(xué)號=成績.學(xué)號;WHERE學(xué)生.學(xué)號=成績.學(xué)號;

GROUPBY學(xué)生.學(xué)號;AND性別="男";

HAVINGAVG(成績)>=85;GROUPBY學(xué)生.學(xué)號;

WHERE性別="男"HAVINGAVG(成績)〉=85

4.常用操作命令

4.1.1VFP命令建立數(shù)據(jù)表:GREATE〈數(shù)據(jù)表文獻(xiàn)名》&&打開表設(shè)計器

創(chuàng)建表結(jié)構(gòu)

說明:1)在VFP的表文獻(xiàn)中,日期型占8個字節(jié),邏輯型占1個字節(jié),備注型和通用型占

4個字節(jié)。每條記錄的總寬度比用戶定義的各個字段寬度之和多一個字節(jié),該字節(jié)用于存放_超

錄刪除標(biāo)記。自由表字段名最長為10個字符,數(shù)據(jù)庫表字段名最長為128個字

符。

2)空值(.NULL.):空值不同于空字符串(”)、空格字符串《”)、數(shù)值0,空值(.NULL.)

就是不擬定的值,,

3)如EMP表中有備注型或通用型字段(不管有多少個),在創(chuàng)建EMP表時,系統(tǒng)會自動創(chuàng)建與所屬數(shù)

據(jù)表的表名相同,擴(kuò)展名為fpt的1個數(shù)據(jù)表備注文獻(xiàn)。表備注文獻(xiàn)名為

EMP.FPT。

例如,在一個VFP數(shù)據(jù)表文獻(xiàn)中有2個通用字段和3個備注字段,該數(shù)據(jù)表的備注文獻(xiàn)數(shù)目是

1.

4.1.2SQL建立數(shù)據(jù)表:CREATETABLE〈表名〉;

(〈字段1>〈字段類型>[(〈字段寬度>[,<小數(shù)位數(shù)>])];

[PRIMARYKEY][CHECK〈表達(dá)式》[ERROR〈錄入錯誤提醒信

息>]];

[DEFAULT〈表達(dá)式>],;

〈字段名2>……)

常用數(shù)據(jù)類型說明

字段類型相應(yīng)字符及表達(dá)方法字段類型相應(yīng)字符及表達(dá)方法字段類型相應(yīng)字符及表達(dá)方法

字符型C(n)數(shù)值型N(n,[m])邏輯型L

日期型D整型I

注意:對自由表不能實現(xiàn)其完整性、有效性規(guī)則等信息的設(shè)立。

例如,教師表中有"職工號"、"姓名"和"工齡"字段,其中“職工號"為主關(guān)鍵字,建立教師表的SQL

命令是D

A.CREATETABLE教師表(職工號C(10)PRIMARY,姓名C(20),工齡I)

B.CREATETABLE教師表(職工號C(10)POREING,姓名C(20),工齡I)

C.CREATETABLE教師表(職工號C(10)POREINGKEY,姓名C(20),工齡I)

D.CREATETABLE教師表(職工號C(10)PRIMARYKEY,姓名C(20),工齡I)

例如,在VFP中,使用SQL的CREATETABLE語句建立數(shù)據(jù)庫表時,使用PRIMARYKEY

子句說明主索引,使用CHECK子句說明有效性規(guī)則(域完整性規(guī)則或字段取值范圍)。

4.2.1VFP命令修改表結(jié)構(gòu):MODIFYSTRUCTURE&&打開表設(shè)計器修改

功能:修改數(shù)據(jù)表的結(jié)構(gòu),涉及增長/刪除字段,修改已有的字段(字段名、字段類型、寬度、有效性

規(guī)則等),不能修改表中的數(shù)據(jù)。

4.2.2SQL修改表結(jié)構(gòu):ALTERTABLE〈表名>

格式1:ALTERTABLE〈表名》ADD〈字段》……&&同定義表結(jié)構(gòu)同樣

ALTERTABLE〈表名〉A(chǔ)DDPRIMARYKEYIUNIQUE<索引表達(dá)式〉TAG〈索引標(biāo)記〉]

功能:修改數(shù)據(jù)表的結(jié)構(gòu),為表增長字段或和添加主索引或候選索引。

例如,為學(xué)生.dbf增長年齡字段(整型,即不帶小數(shù)位);為成績.dbf增長成績字段并設(shè)立有效

性。

ALTERTABLE學(xué)生ADD年齡_1

ALTERTABLE成績ADD成績N(6,2)CHECK成績>=0AND成績<

=100

例如,將學(xué)生表中的學(xué)號定義為主索引,索引名為xh。學(xué)號和姓名定義為候選索弓I,索引名xhxm。

定義主索引:ALTERTABLE學(xué)生ADDPRIMARYKEY學(xué)號TAGxh

定義候選索引:ALTERTABLE學(xué)生ADDUNIQUE學(xué)號+姓名TAGxhxm

格式2:ALTERTABLE〈表名〉A(chǔ)LTER〈字段>〈字段類型〉[(〈字段寬度>[,<小數(shù)位數(shù)>])]

ALTERTABLE〈表名〉A(chǔ)LTERV字段〉SETCHECK(有效規(guī)則》[ERROR〈錯誤提醒

信息>]

ALTERTABLE〈表名〉A(chǔ)LTER〈字段〉[SETDEFAULT〈默認(rèn)值》]

ALTERTABLE〈表名〉A(chǔ)LTER〈字段〉DROPCHECKIDROPDEFAULT

ALTERTABLE〈表名〉DROPPRIMARYKEYIDROPUNIQUETAG〈索引標(biāo)

記》|DROP〈字段名〉

功能:修改數(shù)據(jù)表的結(jié)構(gòu),為其修改已有字段的類型、寬度;有效性規(guī)則(涉及錯誤提醒信息)、默認(rèn)

值;刪除有效性規(guī)則和默認(rèn)值;刪除主索引、候選索引和字段。

例如,ALTERTABLE學(xué)生ALTER學(xué)號C(8)&&將學(xué)生表中學(xué)號字段修改為字符

型(8)

例如,ALTERTABLE成績ALTER成績SETCHECK成績>=0AND成績〈=100

例如,為成績表中定義的成績字段的默認(rèn)值改為0,對的的命令是A。

A.ALTERTABLE成績ALTER成績SETDEFAULT0

B.ALTERTABLE成績ALTER成績DEFAULT0

C.ALTERTABLE成績ALTER成績SETDEFAULT成績=0

D.ALTERTABLE成績ALTER成績DEFAULT成績=0

注意:在定義表結(jié)構(gòu)或為表增長字段時,設(shè)立有效性規(guī)則和默認(rèn)值用CHECK和DEFAU

LT;為表中已存在的字段增長/修改有效性規(guī)則和默認(rèn)值時SETCHECK和SETDEFAUL

T?

例如,ALTERTABLE成績ALTERCOLUMN成績DROPCHECK&&刪除成績表中成績字段

的有效性規(guī)則

例如,ALTERTABLE成績ALTERCOLUMN成績DROPDEFAULT&&刪除成績表

中成績字段的默認(rèn)值

例如,將學(xué)生表的主索引和候選索引xhxm刪除。

刪除主索引:ALTERTABLE學(xué)生DROPPRIMARYKEY;

刪除候選索引:ALTERTABLE學(xué)生DROPUNIQUExhxm。

解釋:由于一個數(shù)據(jù)庫表只有一個主索引,因此刪除主索引時不需要指出主索引名(如指出主索引名

就導(dǎo)致語法錯誤);但一個表可以有多個候選索引,在刪除候選索引時,必須指出要刪除的候選索引名,否

則系統(tǒng)不知刪除哪個候選索引(就算只建立了一個候選索引)。

例如,將學(xué)生表中的"年齡”字段刪除,對的的SQL命令是ALTERTABLE學(xué)生DROP年

格式3:ALTERTABLE<表名>RENAME[COLUMN]〈原字段名〉TO〈新字段名〉

功能:修改數(shù)據(jù)表的結(jié)構(gòu),對指定的字段改名。

例如,將成績表中的"成績"字段改為"考試成績",對的的SQL命令是ALTERTABLE成績

RANAME成績TO考試成績。

4.3SQL刪除表命令格式:DROPTABLE<表名)

例如,在VFP中,刪除數(shù)據(jù)庫表S的SQL命令是DROPTABLES。

4.4.1VFP命令復(fù)制數(shù)據(jù)表結(jié)構(gòu)。

命令格式:COPYSTRUCTURETO〈新表文獻(xiàn)名》[FIELDS(字段名表>]

4.4.2SQL語句復(fù)制數(shù)據(jù)表結(jié)構(gòu)。

SELECT*FROM〈表文獻(xiàn)名》INTOTABLE(新表文獻(xiàn)名》WHERE.F.&&表達(dá)沒有符合

條件的記錄

例如,將學(xué)生.dbf的結(jié)構(gòu)(不包含數(shù)據(jù))復(fù)制到Student.dbf中。

VFP命令:USE學(xué)生SQL語句:SELECT*FROM學(xué)生INTO

TABLEStudent;

COPYSTRUCTURETOStudentWHERE.F.

4.5.1VFP命令增長記錄&&WHERE.F.表達(dá)所有記錄都不

滿足條件

DAPPEND命令(表的尾部增長記錄)。命令格式:APPEND[BLANK]

2)INSERT命令(在表的當(dāng)前記錄前后位置插入新的記錄)。命令格式:INSERT[BEFORE]

[BLANK]

如使用BLANK短語插入空白記錄,可使用REPLACE命令直接修改該空記錄值。

4.5.2SQL增長記錄命令格式:

INSERTINTO〈表名>[(<字段1>[,<字段2>,…])]VALUES(<表達(dá)式1>[,〈表達(dá)式

2>,…])

注意:1)表定義時說明了PRIMARYKEY(關(guān)鍵字)的字段不能取空值和反復(fù)值,且必須為該字段賦

值。

2)表達(dá)式的值的類型應(yīng)與相應(yīng)的字段數(shù)據(jù)類型一致。

例如,向?qū)W生表中插入一條記錄,對的的命令是D。

CREATETABLE學(xué)生(學(xué)號C(4)PRIMARYKEY,;

姓名C(8),專業(yè)C(8),;

年齡ICHECK年齡>=15AND年齡V=20)

A.INSERTINTO學(xué)生VALUES(1234,"張濤","計算機(jī)",18)

B.INSERTINTO學(xué)生VALUES("1234"張濤","計算機(jī)",25)

C.INSERTINTO學(xué)生(姓名,專業(yè),年齡)VALUES("張濤","計算機(jī)",25)

D.INSERTINT0學(xué)生(學(xué)號,姓名,年齡)VALUES("1234","張濤",18)

4.6.1VFP命令刪除記錄(在VFP中刪除記錄有邏輯刪除和物理刪除兩種)

命令格式1:DELETE[范圍][FOR<條件>]命令格式2:PACK命令格式

4.6.2SQL刪除記錄命令格式:DELETEFROM<表名>[WHERE<條件》]

例如,不帶條件的SQLDELETE命令將刪除指定表的所有或所有記錄。

例如,使用SQL從圖書表中刪除總編號以字母"A"開頭的記錄,應(yīng)使用命令:

DELETEFROM圖書WHERE總編號LIKE"A%”

說明:此例中的條件運算符只能用LIKE,而不能用=。如使用=,則表達(dá)刪除總編號等于"A%〃

的記錄(此時%就是一個普通字符,由于%只有在SQL的條件使用LIKE時才作為代表任意多個字符的通

配符)。

如使用VFP命令刪除:DELETEFOR總編號="A"或DELETEFORLEFT(總編號,1)

="A"

說明:此處的運算符只能用=,而不能用LIKE。運算符LIKE只能用在SQL命令的條件短語中。

4.7.1VFP命令REPLACE修改記錄:

命令格式:REPLACE[范圍]〈字段1〉WITH〈表達(dá)式1>[FOR(條件>]

說明:范圍缺省時只修改當(dāng)前一條記錄,要修改所有記錄,應(yīng)使用范圍:ALL。

例如,為當(dāng)前表中所有學(xué)生的總分增長10分,可以使用的命令是D.

A.CHANGE總分WITH總分+10B.REPLACE總分WITH總分+10

C.CHANGEALL總分WITH總分+10D.REPLACEALL總分WITH總

分+10

此題答案也可表達(dá)為:REPLACE總分WITH總分+10FOR.T.

說明:使用FOR〈條件>短語,不管命令的缺省范圍是什么,其操作范圍都變成所有(ALL)。

在VFP的命令(DELETE,REPLACE)中,假如沒有條件短語,表達(dá)刪除或修改當(dāng)前記錄(記錄指針指

向的記錄),而在SQL語句(DELETE、UPDATE)中,假如沒有條件短語,表達(dá)刪除或修改所有(所

有)記錄。

4.7.2SQL修改記錄命令格式:UPDATE〈表名〉;

SET〈字段名>=〈表達(dá)式〉;

[WHERE〈條件>]

說明:使用SQL操作數(shù)據(jù)表(插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù))時不需要先執(zhí)行USE表名命令打開表,

而使用VFP命令操作表時則需要先打開相應(yīng)的表再操作。VFP命令和SQL刪除表記錄都只能邏輯刪

除,如要物理刪除,還需執(zhí)行PACK命令。

4.8.1創(chuàng)建視圖的SQL語句

命令格式:CREATEVIEW〈視圖名》AS〈查詢語句〉;

例如,CREATEVIEWview_stockASSELECT股票名稱AS名稱,單價FROMstock

執(zhí)行該語句后產(chǎn)生的視圖具有的字段名是U。

A.股票名稱、單價B.名稱、單價

C.名稱、單價、交易所D.股票名稱、單價、交易所

4.8.2刪除視圖的SQL語句

命令格式:DROPVIEW〈視圖名〉

例如,刪除視圖myview的命令是DROPVIEWmyview。

4.9建立各類文獻(xiàn)的命令:建立項目的命令:CREATEPROJECT項目文獻(xiàn)名

建立數(shù)據(jù)表命令:CREATE數(shù)據(jù)表文獻(xiàn)名

建立數(shù)據(jù)庫命令:CREATEDATABASE數(shù)據(jù)庫文獻(xiàn)名

建立查詢的命令:CREATEQUERY查詢文獻(xiàn)名

建立視圖的命令:CREATEVIEW視圖文獻(xiàn)名

建立程序/打開的命令:MODIFYCOMMAND程序文獻(xiàn)名

建立表單的命令:CREATEFORM表單文獻(xiàn)名

建立菜單的命令:CREATEMENU菜單文獻(xiàn)名

建立報表的命令:CREATEREPORT報表文獻(xiàn)名

4.10打開各類文獻(xiàn)的命令:打開數(shù)據(jù)表的命令:USE表文獻(xiàn)名[???][???]

打開數(shù)據(jù)庫的命令:OPENDATABASE數(shù)據(jù)庫文獻(xiàn)名[???][???]

…fEXCLUSIVE:以獨占方式打開數(shù)據(jù)表或數(shù)據(jù)庫。

SHARED:以共享方式打開數(shù)據(jù)表或數(shù)據(jù)庫。

打開項目的命令:MODIFYPROJECT項目文獻(xiàn)名

打開查詢的命令:MODIFYQUERY查詢文獻(xiàn)名

打開視圖的命令:MODIFYVIEW視圖文獻(xiàn)名

打開表單的命令:MODIFYFORM表單文獻(xiàn)名

打開菜單的命令:M0DIFYMENU菜單文獻(xiàn)名

打開報表的命令:MODIFYREPORT報表文獻(xiàn)名

例如,執(zhí)行以下一組命令:SETEXCLUSIVEOFF

USEjs

USExsEXCLUSIVEIN0、

/數(shù)據(jù)庫表與自由表之間

則js表打開方式是共享,XS表的打開方式是獨占。(

、)可以互相轉(zhuǎn)換。但一

4.11自由表和數(shù)據(jù)庫表轉(zhuǎn)換命令(命令操作前,先打開相應(yīng)的數(shù)據(jù)庫):

向數(shù)據(jù)庫中添加自由表的命令格式:ADDTABLE〈表文獻(xiàn)名〉

從數(shù)據(jù)庫中移去數(shù)據(jù)庫表的命令格式:REMOVETABLE〈表文獻(xiàn)名〉

4.12執(zhí)行各類文獻(xiàn)的命令:

查詢文獻(xiàn):DO查詢文獻(xiàn)名(必須帶擴(kuò)展名.qpr,DOMyquery,qpr)

菜單文獻(xiàn):DO菜單文獻(xiàn)名(必須帶擴(kuò)展名.mpr,如DOMymenu.mpr)

程序文獻(xiàn):DO程序文獻(xiàn)名(如不帶擴(kuò)展名,則按.EXE(可執(zhí)行文獻(xiàn))

,APP(VFP應(yīng)用程序)一.FXP(已編譯的程序)一.PRG(源程序),如DOMyprog.prg)

表單文獻(xiàn):DOFORM表單文獻(xiàn)名(可省略擴(kuò)展名.sex)

報表文獻(xiàn):REPORTFORM報表文獻(xiàn)名[PREVIEW](可省略擴(kuò)展名.frx)

說明:不使用PREVIEW在主窗口顯示報表,使用PREVIEW在預(yù)覽窗口中顯示報表。

例如,在VFP中可以用DO命令執(zhí)行的文獻(xiàn)不涉及(C

A.PRG文獻(xiàn)B.MPR文獻(xiàn)C.FRX文獻(xiàn)D.QPR文獻(xiàn)

4.13其它命令:

SETMARKTO[日期分隔符]&&分隔符有(/)、(-)、(.)和

空格四種

SETDATETOYMDMDYDMY&&設(shè)立日期顯示格式

4/v-?rnwn

SETCENTURY0N|0FF&&設(shè)立是否顯示世紀(jì)值

例如,

SETCENTURYTO19ROLLOVER10

?CTOD("09-05-01")(結(jié)果:2023.05.01)

?CTOD("49—05-01")(結(jié)果:1949.05.01)

例如,想要將日期型或日期時間型數(shù)據(jù)中的年份用4位數(shù)字顯示,應(yīng)當(dāng)使用設(shè)立命令A(yù)。

A.SETCENTURYONB.SETCENTURYOFFC.SETCENTURYTO4

D.SETCENTURYOF4

設(shè)立字符排序序列:SETCOLLATETO"〈排序順序名〉”

說明:排序順序名必須放在引號當(dāng)中。排序順序名有"Machine"、"PinYin"和"Sroke"?

>Machine(機(jī)器)順序:按照機(jī)內(nèi)碼順序排列。西文字符是按照ASCII碼值排列(大寫ABCD字母

序列在小寫abed字母序列的前面)。漢字根據(jù)它們的拼音順序決定大小。

空格<A<B<…<Z<a<b<一<z

>PinYin(拼音)順序:按照拼音順序排列。對于西文字符而言,小寫abed字母序列在前,大寫

ABCD字母序列在后,同一字母,大寫大,小寫小。(默認(rèn)排序方式)

空格<a<A〈b〈B<…<z<Z

AStroke(筆畫)順序:無論中文、西文,按照書寫筆畫的多少排序。

5.項目管理器

1)項目管理器的組成

?"數(shù)據(jù)”選項卡:用于顯示和管理數(shù)據(jù)庫、自由表、查詢和視圖。

?"文檔''選項卡:用于顯示和管理表單、報表和標(biāo)簽。

?"代碼"選項卡:用于顯示和管理程序。

?"其他”選項卡:用于顯示和管理菜單和文本文獻(xiàn)。

例如,在"項目管理器"窗口中可以完畢的操作是D。

A.新建文獻(xiàn)B.添加/刪除文獻(xiàn)C.修改文獻(xiàn)D.以上

操作均可以

說明:在VFP中,新建或添加一個文獻(xiàn)到項目中并不意味著把該文獻(xiàn)合并到項目文獻(xiàn)中。事實上,

每一個文獻(xiàn)仍然以獨立文獻(xiàn)的形式存在,只是表達(dá)該文獻(xiàn)與項目建立了一種關(guān)聯(lián)。

2)項目連編:項目連編結(jié)果有三種文獻(xiàn)形式:

?應(yīng)用程序文獻(xiàn)(.app):需要在VisualFoxPro中運營。

?可執(zhí)行文獻(xiàn)(.exe):可以直接在Windows下運營。

?動態(tài)鏈接庫庫文獻(xiàn)(.d1Do

例如,在連編對話框中,下列不能生成的文獻(xiàn)類型是」O

A.DLLB.APPC.PRGD.EXE

例如,假如添加到項目中的文獻(xiàn)標(biāo)記為"排除

A.此類文獻(xiàn)不是應(yīng)用程序的一部分

B.生成應(yīng)用程序時不涉及此類文獻(xiàn)

C.生成應(yīng)用程序時涉及此類文獻(xiàn),用戶可以修改

D.生成應(yīng)用程序時涉及此類文獻(xiàn),用戶不能修改

例如,在連編項目文獻(xiàn)之前應(yīng)在"項目管理器”中指定一個主文獻(xiàn),該主文獻(xiàn)將作為已編譯的應(yīng)用程序

執(zhí)行的開始點。可以作為主文獻(xiàn)的可以是查詢、程序、表單、菜單。

第3章VisualFoxpro語言基礎(chǔ)

1.常量:字符型(C)、數(shù)值型(N)、貨幣型(Y)、邏輯型(L)、日期型(D)和日期時間型

(T)。

字符型常量:也稱字符串,字符型常量的定界符不作為常量自身的內(nèi)容。字符型常量的定界符必須成

對匹配,不能一邊用一種定界符而另一邊用此外一種定界符。定界符有口、’三種。

例如,下列字符型常量的表達(dá)中,錯誤的是B。

C答案也可表達(dá)為:"[x=y]〃,但不能表

A.'5+3'B.[[品牌]]C.'[x=y]'D."計算機(jī)”]

達(dá)為仃x=y]];D答案也可表達(dá)為:'”計

例如,X=「2023-07-2810:15:20PM}

Y=.F.

M=5123.45執(zhí)行左述賦值語句之后,內(nèi)存變量X,Y,M,N和Z的數(shù)據(jù)類型分別是

Bo

N=$123.45A.D、L、Y、N、CB.T、L、N、Y、

C

Z="123.24"C.T、L、N、M、CD.T、L、Y、N、

S

日期型常量:「yyyy-mm-dd},如2023年4月15日應(yīng)表達(dá)為「2023-04-15}。

執(zhí)行命令A(yù)-2023/4/15之后,內(nèi)存變量A的數(shù)據(jù)類型是數(shù)值型或N,表達(dá)式score<=100

ANDscore>=0的數(shù)據(jù)類型是邏輯型或L,表達(dá)式100+100=300的數(shù)據(jù)類型是邏輯

型或L,表達(dá)式"505"-"50"的數(shù)據(jù)類型是字符型或C。

2.變量:內(nèi)存常量(涉及數(shù)組)、字段變量

使用"="一次只能給一個內(nèi)存變量賦值(=不能給字段變量賦值),而STORE命令可以同時給多個內(nèi)

存變量賦予相同的值(不能給字段變量賦值)。字段變量可通過REPLACE命令賦值或修改已有的值。

注意,內(nèi)存變量也具有常量的6種數(shù)據(jù)類型,字段變量除此之外,尚有備注型、通用型等。

例如,以下賦值語句對的的是」。

A.STORE8TOX,YB.STORE8,9TOX,Y&&不能給多

個變量賦不同的值

C.X=8,Y=9&&-?行只能寫一條命令1).X,Y=9&&語法錯誤

例如:x='3x='3

y='xy—

?x,y(顯示結(jié)果:33)?x,y(顯示結(jié)果:3.F.)

說明:"="有兩個作用,一是作為賦值命令,如上述例題中=';二是關(guān)系運算符,如上述例題中

例如,假設(shè)當(dāng)前表當(dāng)前記錄的”科目"字段值為[j型*^安即,字陟富庶*心在金金窗口處

如下命令將顯示結(jié)果-科目+"考試"

M=科目考試"

?m(顯示結(jié)果:計算機(jī)考試)

例如,假設(shè)職工表已在當(dāng)前工作區(qū)打開,其當(dāng)前記錄的“姓名"字段值為"李彤"(C型字段)。在命

令窗口輸入并執(zhí)行如下命令:

姓名【姓名J"出勤"

?姓名3(顯示結(jié)果:李彤)

?M.姓名'(顯示結(jié)果:李彤出勤)

注意:內(nèi)存變量和字段變量在同名的情況下,直接引用變量名時使用的是字段變量,要引用內(nèi)存變

量,需在變量名前加扎或加>。

例如,假如內(nèi)存變量和字段變量均有變量名"姓名",那么引用內(nèi)存變量的對的方法是3

ENDIE

S=1

?S(執(zhí)行結(jié)果:」)

變量名(不管是字段變量還是內(nèi)存變量)在表達(dá)時不能使用定界符,否則視為字符型常量。

例如,查詢學(xué)生選修課程成績小于60分的學(xué)號,對的的SQL語句是C。

A.SELECTDISTINCT學(xué)號FROMSCWHERE"成績”<60

B.SELECTDISTINCT學(xué)號FROMSCWHERE成績〈”6

C.SELECTDISTINCT學(xué)號FROMSC

D.SELECTDISTINCT學(xué)號FROM*??WHERE"成績”<60

內(nèi)存變量的顯示命令格式:LIST|DISPLAYMEMORY[LIKE〈通配符>]

例如,語句LISTMEMORYLIKEa*可以顯示的變量不涉及D。

A.aB.a1C.ab2D.ba3

例如,清除內(nèi)存中第一個字母為"A”的內(nèi)存變量,應(yīng)使用命令:RELEASEALLLIKEA*。

3.數(shù)組:數(shù)組是按一定順序排列的一組內(nèi)存變量。

數(shù)組變量一般需先創(chuàng)建再使用(在SQL中將查詢結(jié)果送入數(shù)組,數(shù)組不需事先創(chuàng)建),創(chuàng)建數(shù)組的命令

有:DIMENSION、DECLARE,PUBLIC和LOCAL。其中,使用DIMENSION、DECLARE命令創(chuàng)建的數(shù)組屬

于“私有數(shù)組”,使用PUBLIC命令創(chuàng)建的數(shù)組屬于“全局?jǐn)?shù)組”,使用LOCAL命令聲明的數(shù)組屬于

“局部數(shù)組”。

命令格式:DIMENSION〔DECLARE〈數(shù)組名1>(〈下標(biāo)1>[,<下標(biāo)2>])

例如,在VFP中可以使用命令D

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論