版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
全國計算機等級考試二級
VisualFoxpro教案
NationalComputerRankExamination
VisualFoxproTeachingPlanning
興龍計算機教育中心
內(nèi)部教材
作者:鄒莫泊
全國計算機等級考試二級
VisualFoxpro教案
第一章VisualFoxPro數(shù)據(jù)庫基礎(chǔ)
第1課
知識點一
計算機數(shù)據(jù)管理階段
1人工管理階段
2文件系統(tǒng)階段
3數(shù)據(jù)庫系統(tǒng)階段
知識點二
數(shù)據(jù)庫系統(tǒng)構(gòu)成
1數(shù)據(jù)庫(DATABASE)
2數(shù)據(jù)庫管理系統(tǒng)(DBMS)
3數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS)
4數(shù)據(jù)庫管理員(DBA)
知識點三
數(shù)據(jù)庫系統(tǒng)主要特點
1實現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余
2采用特定的數(shù)據(jù)模型
3具有較高的數(shù)據(jù)獨立性
4有統(tǒng)一的數(shù)據(jù)控制功能
知識點四
實體和實體間聯(lián)系
1實體(對客觀事物的描述)
例如:教師、計算機、汽車等都是實體
2實體的屬性(指實體的一些特性)
例如:學(xué)生的相關(guān)屬性(學(xué)號、姓名、性別等)
3實體間的聯(lián)系
一對一聯(lián)系/一對多聯(lián)系/多對多聯(lián)系
例如:部門和職工之間的聯(lián)系屬于一對多聯(lián)系。
練習(xí)題
1班級和班長之間的聯(lián)系屬于()聯(lián)系。
2顧客和商品之間的聯(lián)系屬于()聯(lián)系。
知識點五
數(shù)據(jù)庫模型
1層次數(shù)據(jù)模型
用樹型結(jié)構(gòu)表示實體間的聯(lián)系
2網(wǎng)狀數(shù)據(jù)模型
主要優(yōu)點:表達多對多聯(lián)系很靈活
3關(guān)系數(shù)據(jù)模型
用二維表來表示實體和實體間的聯(lián)系
知識點六
關(guān)系數(shù)據(jù)模型
1關(guān)系(指一張二維表格)
VisualFoxPro中關(guān)系為一個表文件,擴展名為.DBF。
例如:學(xué)生表就是一個關(guān)系,VF表示為學(xué)生表.DBF。
2元組(指二維表的一行)
例如:學(xué)生表中學(xué)號為“1103”的記錄即為一個元組
因為學(xué)號唯一,所以這樣的元組只有一個。
3屬性(指二維表垂直方向的列)
例如:學(xué)生表的學(xué)號、姓名、性別等都是屬性
屬性在VF中又稱為字段名
4域(指屬性的取值范圍)
例如:月份取值范圍是1至12
5關(guān)鍵字(指能夠唯一標(biāo)識一個元組的屬性)
例如:學(xué)號是關(guān)鍵字,而姓名不是。
通常在VF中稱這種關(guān)鍵字為主關(guān)鍵字
知識點七
專門的關(guān)系運算
1選擇(指水平方向的運算)
從關(guān)系中找出滿足條件的元組稱為選擇
例如:從學(xué)生表找出所有男生的記錄(條件:性別="男")
2投影(指垂直方向的運算)
從關(guān)系中指定若干個屬性組成新的關(guān)系稱為投影
例如:從學(xué)生表中列舉所有學(xué)生的姓名和家庭住址
3連接(指兩個表進行連接)
4自然連接(指去掉重復(fù)屬性的等值連接)
練習(xí)題
3從學(xué)生表中找出所有學(xué)生的身份證號屬于()運算。
4從學(xué)生表中找出所有姓王的女生屬于()運算。
第2課
知識點一
VisualFoxPro系統(tǒng)概述
1VisualFoxPro6.0是一個32位數(shù)據(jù)庫管理系統(tǒng)
2熟悉VisualFoxPro6.0工作界面
知識點二
VisualFoxPro6.0上機主要考點
1項目管理器
2向?qū)?設(shè)計器/生成器/命令窗口
3數(shù)據(jù)庫設(shè)計
4查詢和視圖
5程序設(shè)計
6表單設(shè)計
7菜單設(shè)計
8報表設(shè)計
9連編應(yīng)用程序
第二章VisualFoxPro程序設(shè)計基礎(chǔ)
第1課
知識點一
常量的類型
1數(shù)值型常量
例如:3、-6.78、1.6E-12(表示1.6x10」2)
2字符型常量
用單引號/雙引號/方括號將字符串包含
例如:“計算機"、‘123'、[ABC]
注意:“"稱為空串,而”“稱為空格字符串。
3日期型常量
嚴格日期格式:{Ayyyy-mm-dd}
例如:{—2008-08-08}表示2008年8月8日
4日期時間型常量
完整格式:{〈日期〉,〈時間〉}
時間部分格式:hh:mm:ssAM|PM
例如:卜2001-03-22,03:25:30PM}
表示2001年3月22日下午3點25分30秒
5邏輯型常量
只有邏輯真和邏輯假兩個值。
VF中用.T.表示邏輯真,用.F.表示邏輯假。
例如:學(xué)生表中〈是否黨員〉字段類型為邏輯型
知識點二
變量的定義和使用
1變量必須以字母、漢字或下劃線開頭
例如:A、姓名、S_NO等都是合法的變量
而3AB、A+B則是非法變量
2變量的賦值
格式一:變量名=表達式
例如:A=3和A=B+C*D都是合法的語句
而A+B=C則是非法的,左邊A+B并不是變量。
格式二:STORE表達式TO變量列表
例如:STORE5TOX1,X2,X3
表示同時給X1,X2,X3賦值5
知識點三
數(shù)組的定義和使用
格式:DIMENSION數(shù)組名
或DECLARE數(shù)組名
例如:DIMENSIONX(3)
上述數(shù)組包含3個元素X(1),X(2),X(3)
DECLAREY(2,3)
上述數(shù)組是一個二維數(shù)組,共包含
Y(1,1),Y(1,2),Y(1,3),Y(2,1),Y(2,2),Y(2,3)6個元素。
知識點四
表達式值的顯示
格式一:?〈表達式,
例如:?3+4*5將顯示結(jié)果23
格式二:??〈表達式,
例如:??[計算機]將顯示結(jié)果計算機
上述兩種格式的區(qū)別:
?每輸出一個結(jié)果就自動換行,而??不會換行。
第2課
知識點一
常規(guī)表達式
1數(shù)值表達式
例如:3+5*63+5A23+20/3
3+15%23+MOD(100,3)(%和MOD均表示求余數(shù))
2字符表達式
字符串運算符:
+前后兩個字符串首尾連接
-連接前后兩個字符串,前字符串尾部空格移至最后。
例如:a="Hello“尾部有一個空格
b=,,everyone!"
a+b="Helloeveryone!"
a-b="Helloeveryone!"尾部有一個空格
3日期時間表達式
運算符有兩個:+和-
例如:卜2001-03-19}+10結(jié)果為{人2001-03-29}
{A2001-03-19}-{A2000-03-19}結(jié)果為365
知識點二
關(guān)系表達式
例如:a>ba<=3aoba#ba!=b
(<>#!=均表示不等于)
“計算機"$"計算機等級考試”($表示子串包含測試)
標(biāo)準(zhǔn)信息交換碼(ASCII碼)
大寫字母A65B66…依此類推
小寫字母a97b98…依此類推
數(shù)字0-9048149…依此類推
空格32
常見的比較規(guī)則:
1)越早的日期越小,越晚的日期越大。
例如:卜2002-01-10}>{A2001-12-28}
2)邏輯型數(shù)據(jù)比較
規(guī)則是.T.大于.F.
3)字符串的比較(默認按拼音方式比較)
例如:“bcd”>“abcd”“計算機"〉“電腦”
知識點三
邏輯表達式
邏輯運算符:NOT徘)AND(與)OR(或)
優(yōu)先級NOT>AND>OR
運算規(guī)則表
NOT
操作數(shù)結(jié)果
.T..F.
.F..T.
AND
操作數(shù)1操作數(shù)2結(jié)果
.T..T..T.
.T..F..F.
.F..T..F.
.F..F..F.
OR
操作數(shù)1操作數(shù)2結(jié)果
.T..T..T.
.T..F..T.
.F..T..T.
.F..F..F.
例如:6>5OR5<>5AND10<=10最終結(jié)果為.T.
例如:用邏輯表達式表示年齡大于18的男同學(xué)
年齡>18AND性別="男”
練習(xí)題
1將A和B的平方和賦給C,請寫出兩種表達式。
2定義一個3行4列的矩陣XY乙請寫出表達式。
,,),
3判斷表達式'A'>'5'AND6>=6ORNOT[A]=AO
4用邏輯表達式表示年齡在[18,20]的學(xué)生或計算機
專業(yè)的女生。
第3課
知識點一
數(shù)學(xué)函數(shù)
1絕對值函數(shù)ABS(表達式)
例如:ABS(-6)=6
2符號函數(shù)SIGN(表達式)
當(dāng)表達式為正時,結(jié)果為1
當(dāng)表達式為負時,結(jié)果為-1
當(dāng)表達式為0時,結(jié)果為0
例如:SIGN(5*5)=1SIGN(-4)=-1
3平方根函數(shù)SQRT(表達式)
例如:SQRT(SQRT(81))=3
4求余函數(shù)MOD
例如:MOD(10,3)=1
而MOD(3,10)=3
5最大值MAX和最小值MIN
例如:MAX(15*15,224,226)=226
MIN(“汽車",“飛機“,“輪船")="飛機”
知識點二
字符函數(shù)
1字符串長度函數(shù)LEN(表達式)
例如:LEN("STUDENT")=7
而LEN(“學(xué)生”)=4
2刪除前后空格函數(shù)ALLTRIM(表達式)
例如:ALLTRIMfSTUDENT")="STUDENT”
3取子串函數(shù)
左字符串函數(shù)LEFT(表達式,長度)
例如:LEFT("STUDENT",3)="STU”
右字符串函數(shù)RIGHT(表達式,長度)
例如:RIGHT("STUDENT",4)="DENT”
中間字符串函數(shù)SUBSTR(表達式,起始位置,長度)
例如:SUBSTR(UVISUALFOXPRO”,8,3)="FOX”
SUBSTRfVISUALF0XPR0",8)="F0XPR0”
4求子串位置函數(shù)AT(表達式1,表達式2)
返回表達式1首字符在表達式2中的位置,若表達式1
不是表達式2的子串則返回0。
例如:AT("FOX","VISUALFOXPROH)=8
而AT("fox","VISUALFOXPRO"”。
5字符串匹配函數(shù)LIKE(表達式1,表達式2)
若兩個表達式對應(yīng)字符都匹配返回.T.否則返回.F.
表達式1中可包含通配符*和?
例如:LIKE(“ABC”,"ABC")=.T.
知識點三
日期和時間函數(shù)
1系統(tǒng)日期和時間函數(shù)
DATE()返回當(dāng)前系統(tǒng)日期,函數(shù)值為日期型
TIMEQ返回當(dāng)前系統(tǒng)時間,函數(shù)值為字符型
DATETIMEQ返回當(dāng)前系統(tǒng)日期時間
2年份/月份/天數(shù)函數(shù)
YEAR(日期表達式)返回指定日期中的年份
MONTH(日期表達式)返回指定日期中的月份
DAY(日期表達式)返回指定日期中的天數(shù)
3小時/分鐘/秒函數(shù)
HOUR(日期時間表達式)返回時間的小時數(shù)
MINUTE(日期時間表達式)返回時間的分鐘數(shù)
SEC(日期時間表達式)返回時間的秒數(shù)
知識點四
數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
1數(shù)值轉(zhuǎn)換字符串STR(數(shù)值表達式)
例如:STR(123)="123”
2字符串轉(zhuǎn)換數(shù)值VAL(字符表達式)
例如:VAL(“123”)=123
3字符串轉(zhuǎn)換日期CTOD(字符表達式)
例如:CTOD(“2008/08/08")={A2008-08-08}
4日期轉(zhuǎn)換字符串DTOC(日期表達式)
例如:DTOC({A2008-08-08})=),2008/08/08),
知識點五
測試函數(shù)
1值域測試函數(shù)
BETWEEN(表達式T,表達式L,表達式H)
若T>=LANDT<=H函數(shù)返回.T.否則返回.F.
若L為NULL或H為NULL函數(shù)返回NULL
2表文件尾測試函數(shù)EOF()
若記錄指針指向表尾函數(shù)返回.T.否則返回.F.
3表文件首測試函數(shù)BOF()
若記錄指針指向表頭函數(shù)返回.T.否則返回.F.
4條件測試函數(shù)
IIF(邏輯表達式,表達式1,表達式2)
若邏輯表達式為.T.函數(shù)返回表達式1的值,否則
返回表達式2的值。
例如:假設(shè)X的值是5
則IIF(X>=5,X+5,X-5)的最后結(jié)果是10
練習(xí)題
5計算表達式3+5A0+SIGN(16-SQRT(257))o
6用VF表達式表示一元二次方程的兩根。
7用邏輯表達式表示所有姓王或末字為軍的學(xué)生。
8用IIF函數(shù)表示A和B中的較大者。
第4課
知識點一
順序語句
1輸入語句
格式:INPUT字符表達式TO變量
例如:從鍵盤上輸入一個整數(shù)并保存到變量A
INPUT"請輸入一個整數(shù)"TOA
2輸出語句
用?或??在屏幕上顯示結(jié)果
例如:計算上例中A的平方并顯示出結(jié)果
?A*A或??A*A
知識點二
條件語句
格式1:
IFv條件,THEN
語句序列
ENDIF
若條件為真則執(zhí)行語句序列,否則結(jié)束。
格式2:
IFv條件,THEN
語句序列1
ELSE
語句序列2
ENDIF
若條件為真則執(zhí)行語句序列1,否則執(zhí)行語句序列2o
例如:輸入一整數(shù),若能被3整除則輸出它的平方;
否則輸出它的2倍。
INPUT"請輸入一個整數(shù)"TOA
IFMOD(A,3)=0THEN
?A*A
ELSE
?A*2
ENDIF
知識點三
分支語句
語法格式:
DOCASE
CASE條件1
語句序列1
CASE條件n
語句序列n
OTHERWISE
語句序列
ENDCASE
分別對條件1-n判斷,若某個條件成立則執(zhí)行相應(yīng)的語句
序列;若條件均不成立,則執(zhí)行OTHERWISE后的
語句序列。
例如:輸入一個分數(shù),并根據(jù)此分數(shù)顯示相應(yīng)等級。
90到100優(yōu)秀
80至I」89良
70至U79一般
其余差
INPUT"請輸入一個分數(shù)"TOA
DOCASE
CASEA>=90ANDA<=100
GRADE=”優(yōu)秀”
CASEA>=80ANDA<=89
GRADE",
CASEA>=70ANDA<=79
GRADE="一般”
OTHERWISE
GRADE="差”
ENDCASE
?”此分數(shù)對應(yīng)的等級為"+GRADE
知識點四
循環(huán)語句
語法格式:
DOWHILE條件
語句序列
ENDDO
若條件為真則執(zhí)行語句序列,然后再判斷條件,若仍為真
則重復(fù)執(zhí)行語句序列直到條件為假時循環(huán)結(jié)束。
例如:編程計算S=1+2+……+100的值。
s=o
K=1
DOWHILEK<=100
S=S+K
K=K+1
ENDDO
?S
練習(xí)題
9輸入一個年份,若是閏年則輸出“yes”;否則輸出“n。”。
10輸入一個整數(shù)x,輸出下列表達式的值。
x2+1(x>0)
s=2x+3(x=0)
x2-1(x<0)
11計算1至999之間所有能被7整除的數(shù)之和。
第三章VisualFoxPro數(shù)據(jù)庫及其操作
第1課
知識點一
建立數(shù)據(jù)庫
通常有三種方法:
1在項目管理器中建立數(shù)據(jù)庫
2在新建對話框中建立數(shù)據(jù)庫
3使用命令建立數(shù)據(jù)庫
命令窗口中輸入:CREATEDATABASE數(shù)據(jù)庫名
知識點二
打開數(shù)據(jù)庫
通常有三種方法:
1在項目管理器中打開數(shù)據(jù)庫
2在打開對話框中打開數(shù)據(jù)庫
3使用命令打開數(shù)據(jù)庫
命令窗口中輸入:OPENDATABASE數(shù)據(jù)庫名
知識點三
刪除數(shù)據(jù)庫
通常有兩種方法:
1在項目管理器中刪除數(shù)據(jù)庫
刪除時有兩個選項:移去和刪除
移去:從項目管理器中刪除數(shù)據(jù)庫,但對應(yīng)數(shù)據(jù)庫文件
仍然存在。
刪除:從項目管理器中刪除數(shù)據(jù)庫,同時對應(yīng)文件也被
刪除。
2使用命令刪除數(shù)據(jù)庫
命令窗口中輸入:DELETEDATABASE數(shù)據(jù)庫名
知識點四
建立數(shù)據(jù)庫表
通常有兩種方法:
1在數(shù)據(jù)庫設(shè)計器中新建表
2使用命令新建表
在命令窗口中依次輸入:
OPENDATABASE數(shù)據(jù)庫名
CREATE表名
知識點五
修改表結(jié)構(gòu)
表結(jié)構(gòu)修改主要包括:增加字段、刪除字段、修改字段。
通常有兩種方法:
1在數(shù)據(jù)庫設(shè)計器中修改表結(jié)構(gòu)
2使用命令修改表結(jié)構(gòu)
在命令窗口中依次輸入:
USE表名
MODIFYSTRUCTURE
知識點六
數(shù)據(jù)庫表的相關(guān)概念
1字段名
指關(guān)系的屬性名。例如:學(xué)號、姓名等。
2字段類型和寬度
常見的類型及符號定義
字符型C數(shù)值型N
浮點型F整型I
日期型D日期時間型T
邏輯型L貨幣型Y
3空值(記作NULL)
在數(shù)據(jù)庫中表示暫未確定的值,它和數(shù)值。含義不同。
注意:數(shù)據(jù)庫中某些字段不允許空值。(例如:學(xué)號)
4數(shù)據(jù)庫表和自由表
數(shù)據(jù)庫表:在數(shù)據(jù)庫設(shè)計器中創(chuàng)建的表。
自由表:指那些不屬于任何數(shù)據(jù)庫的表。
可以將自由表添加到數(shù)據(jù)庫中使之成為數(shù)據(jù)庫表,也
可以將數(shù)據(jù)庫表從數(shù)據(jù)庫中移出使之成為自由表。
第2課
知識點一
瀏覽表記錄
通常有兩種方法:
1在數(shù)據(jù)庫設(shè)計器中瀏覽表記錄
2使用命令瀏覽表記錄
命令窗口中依次輸入:
USE表名
BROWSE
知識點二
增加記錄
1APPEND命令
在表的尾部增加記錄,有兩種格式。
APPEND和APPENDBLANK
APPEND一次可連續(xù)輸入多條新記錄
APPENDBLANK在表的尾部增加一條空白記錄
2INSERT命令
在表的任意位置插入新記錄
INSERT[BEFORE]
若不指定BEFORE,則在當(dāng)前記錄之后插入一條
新記錄;否則在當(dāng)前記錄之前插入一條新記錄。
知識點三
刪除記錄
1邏輯刪除(指作刪除標(biāo)記)
DELETE[FOR條件]
若省略[FOR條件]則只刪除當(dāng)前一條記錄;否則刪除
滿足條件的所有記錄。
例如:邏輯刪除學(xué)生表中年齡為20的學(xué)生記錄
USE學(xué)生
DELETEFOR年齡=20
2物理刪除(指真正刪除記錄)
PACK
記錄徹底被刪除并且不能恢復(fù)。
3物理刪除表的全部記錄
ZAP
全部記錄被刪除并且不能恢復(fù),但表仍然存在。
知識點四
修改記錄
REPLACE[ALL]字段名WITH表達式
若省略[ALL]則只修改當(dāng)前記錄,否則修改全部記錄。
例如:將當(dāng)前表中所有學(xué)生的年齡加1
REPLACEALL年齡WITH年齡+1
知識點五
定位記錄
1GO命令
GO記錄號|TOP|BOTTOM
TOP是表頭BOTTOM是表尾
例如:定位至第5條記錄
GO5
2SKIP命令
SKIP偏移量
若偏移量為正,表示向后移動;否則向前移動。
若省略偏移量,表示向后移動1條記錄。
例如:將指針定位至倒數(shù)第3條記錄的位置
GOBOTTOM
SKIP-2
3LOCATE命令
LOCATEFOR條件
將指針定位在滿足條件的第1條記錄上,若沒有滿足
條件的記錄則指向文件結(jié)束位置。
LOCATE命令常用的結(jié)構(gòu)是:
LOCATEFOR條件
DOWHILEFOUNDQ
語句序列
CONTINUE
ENDDO
例如:輸出學(xué)生表中所有女生的姓名和年齡
USE學(xué)生
LOCATEFOR性別="女”
DOWHILEFOUND()
?姓名,年齡
CONTINUE
ENDDO
練習(xí)題
1創(chuàng)建兩個數(shù)據(jù)庫表,并輸入至少5條記錄。
學(xué)生(學(xué)號8姓名10性別年齡)
銷售(商品號5商品名20價格10.2)
2用VF命令將銷售表中所有商品價格提高12.88%。
3輸出學(xué)生表中所有姓王的男同學(xué)的姓名和年齡。
第3課
知識點一
索引的分類
1主索引
字段中不允許出現(xiàn)重復(fù)值,起主關(guān)鍵字作用。
一個表只能建立一個主索引。
2候選索引
候選索引和主索引具有相同的特性。
一個表可以建立多個候選索引。
3唯一索引
唯一索引保持同早期版本的兼容性,其唯一是指索引項
唯一,并不是字段值的唯一。
一個表可以建立多個唯一索引。
4普通索引
普通索引允許字段有重復(fù)值。
一個表可以建立多個普通索引。
知識點二
索引的建立和刪除
建立索引有兩種方法:
1在表設(shè)計器中建立索引
2使用命令建立索引
INDEXON索引表達式TAG索引名
[UNIQUE|CANDIDATE]
UNIQUE指明建立唯一索引
CANDIDATE指明建立候選索引
若上述兩個都省略,表示建立普通索引。
例如:在學(xué)生表中建立一個名稱為姓名的普通索引
INDEXON姓名TAG姓名
刪除索引
DELETETAG索弓I名
刪除全部索引
DELETETAGALL
例如:在學(xué)生表中刪除前面建立的姓名索引
DELETETAG姓名
知識點三
數(shù)據(jù)完整性
1實體完整性
實體完整性是保證表中記錄唯一的特性。
VisualFoxPro中用主關(guān)鍵字保證數(shù)據(jù)的實體完整性。
2域完整性
域完整性通常限定數(shù)據(jù)類型、取值范圍、有效性規(guī)則等。
例如:年齡為整型,月份取值為1至12等。
3參照完整性
參照完整性反映表和表之間的關(guān)聯(lián)。
參照完整性規(guī)則包括更新規(guī)則、刪除規(guī)則和插入規(guī)則。
練習(xí)題
4創(chuàng)建兩個數(shù)據(jù)庫表:
學(xué)生(學(xué)號8姓名10)
選課(學(xué)號8課程號5成績3.1)
5為學(xué)生表創(chuàng)建一個主索引(學(xué)號),再為選課表創(chuàng)建一個
普通索引(學(xué)號),最后建立兩個表的關(guān)聯(lián)。
第四章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL
第1課
知識點一
SQL語言概述
SQL全稱為StructuredQueryLanguage(結(jié)構(gòu)化查詢語言)
知識點二
SQL基本格式
SELECT字段1,字段2,……字段n
FROM表名1,表名2,……表名n
WHERE條件
GROUPBY分組字段HAVING分組條件
ORDERBY排序字段ASC|DESC
INTOTABLE表名
知識點三
單表查詢
首先建立以下四個表,本章所有例子均對此操作。
倉庫(倉庫號,城市,面積)
職工(倉庫號,職工號,工資)
訂購單(職工號,供應(yīng)商號,訂購單號,訂購日期)
供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址)
例1從職工表中查詢所有職工的工資
SELECT工資FROM職工
例2從倉庫表中查詢所有記錄
SELECT*FROM倉庫
例3查詢工資多于1230元的職工號
SELECT職工號FROM職工WHERE工資>1230
知識點四
多表查詢
例1查詢工資多于1230元的職工號和他們所在城市
方法一
SELECT職工號,城市FROM職工,倉庫;
WHERE職工.倉庫號=倉庫.倉庫號;
AND工資>1230
方法二
SELECT職工號,城市FROM;
職工INNERJOIN倉庫;
ON職工.倉庫號=倉庫.倉庫號;
WHERE工資>1230
例2查詢工資多于1230元的職工向北京的供應(yīng)商發(fā)出的
訂購單號。
方法一
SELECT訂購單號FROM職工,訂購單,供應(yīng)商;
WHERE職工.職工號=訂購單.職工號;
AND訂購單.供應(yīng)商號=供應(yīng)商.供應(yīng)商號;
AND工資>1230AND地址="北京”
方法二
SELECT訂購單號FROM;
職工INNERJOIN訂購單INNERJOIN供應(yīng)商;
ON訂購單.供應(yīng)商號=供應(yīng)商.供應(yīng)商號;
ON職工.職工號=訂購單.職工號;
WHERE工資>1230AND地址="北京”
知識點五
嵌套查詢
例1查詢哪些城市至少有一個倉庫的職工工資為1250元
SELECT城市FROM倉庫WHERE倉庫號;
IN(SELECT倉庫號FROM職工;
WHERE工資=1250)
例2查詢所有職工的工資都多于1210元的倉庫信息
SELECT*FROM倉庫WHERE倉庫號;
NOTIN(SELECT倉庫號FROM職工;
WHERE工資v=1210)AND倉庫號;
IN(SELECT倉庫號FROM職工)
練習(xí)題
1查詢在北京的供應(yīng)商的名稱。
2查詢向供應(yīng)商S3發(fā)過訂購單的職工的職工號和倉庫號。
3查詢和職工E1、E3都有聯(lián)系的北京的供應(yīng)商信息。
第2課
知識點一
特殊運算符
BETWEEN……AND表示在一定范圍內(nèi)查詢
例1查詢工資在1220元到1240元范圍內(nèi)的職工信息
SELECT*FROM職工WHERE工資;
BETWEEN1220AND1240
上述語句的等價寫法是:
SELECT*FROM職工;
WHERE工資>=1220AND工資v=1240
LIKE表示模糊查詢,通常和%一起使用。
例2查詢供應(yīng)商名中最后兩字為公司的供應(yīng)商信息
SELECT*FROM供應(yīng)商;
WHERE供應(yīng)商名LIKE"%公司”
上述語句的等價寫法是:
SELECT*FROM供應(yīng)商;
WHERERIGHT(供應(yīng)商名,4)="公司”
知識點二
字段排序ORDERBY
例1查詢所有職工信息并按工資升序排序
SELECT*FROM職工ORDERBY工資
例2查詢所有職工信息,先按倉庫號升序再按工資降序。
SELECT*FROM職工;
ORDERBY倉庫號,工資DESC
知識點三
計算查詢
COUNT(計數(shù))SUM(求和)AVG(平均值)
MAX(最大值)MIN(最小值)
例1查詢供應(yīng)商所在地的數(shù)目
SELECTCOUNT(DISTINCT地址);
FROM供應(yīng)商
上述語句中DISTINCT表示去掉重復(fù)值
例2求所有職工的工資總數(shù)
SELECTSUM(工資)FROM職工
例3求在WH2倉庫工作的職工的最高工資
SELECTMAX(工資)FROM職工;
WHERE倉庫號="WH2”
知識點四
分組查詢GROUPBY
例1求每個倉庫的職工的平均工資和倉庫號
SELECT倉庫號,AVG(工資)FROM職工;
GROUPBY倉庫號
例2求至少有兩個職工的每個倉庫的平均工資和倉庫號
SELECT倉庫號,AVG(工資)FROM職工;
GROUPBY倉庫號HAVINGCOUNT(*)>=2
知識點五
SQL的幾個特殊短語
1只顯示前幾項記錄TOPn
例如:顯示工資最高的3位職工信息
SELECT*TOP3FROM職工;
ORDERBY工資DESC
注意:此短語必須和ORDERBY一起使用
2將查詢結(jié)果存放到數(shù)組INTOARRAY
例如:查詢所有職工信息并存放到數(shù)組A中
SELECT*FROM職工INTOARRAYA
3將查詢結(jié)果存放到表中INTOTABLE
例如:查詢所有職工信息并存放到WORKER表中
SELECT*FROM職工;
INTOTABLEWORKER
練習(xí)題
4查詢所有倉庫的平均面積。
5查詢每個倉庫中工資多于1220元的職工個數(shù)。
6查詢工資低于本倉庫平均工資的職工信息。
第3課
知識點一
插入數(shù)據(jù)
格式一:
INSERTINTO表名VALUES(字段1值,字段2值,……)
例1往倉庫表中增加記錄(“WH45”,“天津”,4500)
INSERTINTO倉庫VALUES(“WH45”,”天津”,4500)
格式二:
INSERTINTO表名FROMARRAY數(shù)組名
例2有一空表ZG,將前面數(shù)組A的數(shù)據(jù)插入到ZG中。
INSERTINTOZGFROMARRAYA
知識點二
更新數(shù)據(jù)
格式:UPDATE表名SET字段=表達式[WHERE條件]
例1將WH1倉庫的職工工資提高10%
UPDATE職工SET工資=工資*1.1;
WHERE倉庫號="WH1”
例2將所有學(xué)生的年齡增加1歲
UPDATE學(xué)生SET年齡=年齡+1
知識點三
刪除數(shù)據(jù)
格式:DELETEFROM表名[WHERE條件]
例1刪除倉庫表中WH2倉庫的信息
DELETEFROM倉庫WHERE倉庫號="WH2”
例2刪除職工表的全部信息
DELETEFROM職工
練習(xí)題
7插入一個新的供應(yīng)商元組(S9,智通公司,沈陽)。
8刪除目前沒有任何訂購單的供應(yīng)商。
9將低于所有職工平均工資的職工提高5%的工資。
第4課
知識點一
創(chuàng)建表
格式:CREATETABLE表名(字段1類型,字段2類型,.
例如:按如下要求創(chuàng)建一個學(xué)生表
學(xué)號字符型10成績數(shù)值型2.1
CREATETABLE學(xué)生(學(xué)號C(10),成績N(2,1))
知識點二
修改表
格式:ALTERTABLE表名ADD|ALTER字段
[CHECK表達式]
例1為訂購單表增加一個總金額N(8,2)字段
ALTERTABLE訂購單ADD總金額N(8,2)
例2將訂購單表的訂購單號字段寬度改為10
ALTERTABLE訂購單ALTER訂購單號C(10)
例3為訂購單表總金額增加有效性規(guī)則(總金額>100)
ALTERTABLE訂購單ALTER總金額;
SETCHECK總金額>100
知識點三
創(chuàng)建視圖:CREATEVIEW視圖名ASSELECT語句
例1創(chuàng)建一個視圖MyView,包含WH1倉庫職工信息。
CREATEVIEWMyViewAS;
SELECT*FROM職工;
WHERE倉庫號="WH1”
刪除視圖:DROPVIEW視圖名
例2刪除前面創(chuàng)建的MyView視圖
DROPVIEWMyView
練習(xí)題
10為教師表的教師號增加有效性規(guī)則:教師號最左邊
三位字符是110。
11為學(xué)院表增加一個字段:教師人數(shù)(整數(shù)),同時設(shè)置
有效性規(guī)則:教師人數(shù)>=0。
12創(chuàng)建一個視圖SView,包含工資不在[1000,1300]的
職工信息。
第五章SQL綜合實例
例1學(xué)生(學(xué)號,姓名,出生日期)
選課(學(xué)號,課程號,成績)
課程(課程號,課程名,學(xué)時)
1)查詢18歲以上的學(xué)生的學(xué)號和姓名。
2)查詢最年長的三位學(xué)生的姓名。
3)查詢所有含有“程序設(shè)計”四個字的課程名。
4)查詢選修了”數(shù)據(jù)庫原理”且成績在85分以上的學(xué)生的
學(xué)號和姓名,按學(xué)號升序和姓名降序保存至STU中。
5)查詢每門課程的課程名和最高分。
6)查詢沒有選修任何課程的學(xué)生的姓名。
7)查詢至少選修了兩門課程的學(xué)生的學(xué)號和姓名。
8)查詢選修了課程的學(xué)生人數(shù)。
9)將所有末字為"軍"的學(xué)生出生日期更改為1983/5/12。
10)為學(xué)生表增加字段“實交學(xué)費"(整數(shù)),同時設(shè)置規(guī)則
實交學(xué)費>0。
解答:
1)SELECT學(xué)號,姓名FROM學(xué)生;
WHEREYEAR(DATE())-YEAR(出生日期)>18
2)SELECTTOP3姓名FROM學(xué)生;
ORDERBY出生日期
3)SELECT課程名FROM課程;
WHERE課程名IN(“程序設(shè)計”)
4)方法一
SELECT學(xué)生.學(xué)號,姓名FROM學(xué)生,選課,課程;
WHERE學(xué)生.學(xué)號=選課.學(xué)號;
AND選課.課程號=課程.課程號;
AND課程名=”數(shù)據(jù)庫原理”AND成績>85;
ORDERBY學(xué)生.學(xué)號,姓名DESC;
INTOTABLESTU
方法二
SELECT學(xué)生.學(xué)號,姓名FROM;
學(xué)生INNERJOIN選課INNERJOIN課程;
ON選課.課程號=課程.課程號;
ON學(xué)生.學(xué)號=選課.學(xué)號;
WHERE課程名=”數(shù)據(jù)庫原理”AND成績>85;
ORDERBY學(xué)生.學(xué)號,姓名DESC;
INTOTABLESTU
5)SELECT課程名,MAX(成績)最高分;
FROM選課,課程;
WHERE選課.課程號=課程.課程號;
GROUPBY選課.課程號
6)SELECT姓名FROM學(xué)生WHERE學(xué)號;
NOTIN(SELECT學(xué)號FROM選課)
7)SELECT學(xué)號,姓名FROM學(xué)生;
WHERE學(xué)號IN(SELECT學(xué)號FROM選課;
GROUPBY學(xué)號HAVINGCOUNT(課程號)>=2)
8)SELECTCOUNT(DISTINCT學(xué)號)FROM選課
9)UPDATE學(xué)生SET出生日期={A1983-05-12};
WHERERIGHT(姓名,2)="軍”
10)ALTERTABLE學(xué)生ADD實交學(xué)費I;
CHECK實交學(xué)費>0
例2工程(工程號,工程名,費用)
開工(工程號,零件號,數(shù)量)
零件(零件號,零件名,顏色)
1)查詢所有和紅色相關(guān)的工程的工程號。
2)查詢同時使用了P2、P3、P4三種零件的工程名。
3)查詢至少使用了兩種零件的工程的工程名和費用。
4)查詢費用低于所有工程平均費用的工程名。
5)創(chuàng)建視圖SVIEW,包含每種零件的零件號和使用數(shù)量。
1)SELECT工程號FROM開工;
WHERE零件號IN(SELECT零件號FROM零件;
WHERE顏色="紅”)
2)SELECT工程名FROM工程;
WHERE工程號IN(SELECT工程號FROM開工;
WHERE零件號="P2")AND工程號IN;
(SELECT工程號FROM開工WHERE零件號="P3");
AND工程號IN(SELECT工程號FROM開工;
WHERE零件號="P4”)
3)SELECT工程名,費用FROM工程;
WHERE工程號IN(SELECT工程號FROM開工;
GROUPBY工程號HAVINGCOUNT(零件號)>=2)
4)SELECT工程名FROM工程;
WHERE費用〈(SELECTAVG(費用)FROM工程)
5)CREATEVIEWSVIEWAS;
SELECT零件號,SUM(數(shù)量)使用數(shù)量;
FROM開工GROUPBY零件號
第六章表單設(shè)計與應(yīng)用
第1課
知識點一
對象和類
1對象
客觀世界里任何實體都被看作是對象。
例如:一臺計算機,一個學(xué)生都可作為對象。
2類
類是由一系列相同特征的對象構(gòu)成的集合。
例如:學(xué)生類、汽車類、電視機類等。
知識點二
屬性和事件
1屬性
屬性是指對象具有的相關(guān)特征。
例如:學(xué)生相關(guān)屬性有學(xué)號、姓名、興趣愛好等。
2事件
事件是指在特定環(huán)境下產(chǎn)生的過程。
例如:鼠標(biāo)單擊、鍵盤按鍵等都是事件。
知識點三
創(chuàng)建表單和運行表單
1創(chuàng)建表單
通常有兩種方法:
1)使用表單設(shè)計器創(chuàng)建表單
2)使用表單向?qū)?chuàng)建表單
2運行表單
通常有兩種方法:
1)打開表單設(shè)計器,單擊工具欄上運行按鈕
2)在命令窗口中輸入:
DOFORM表單文件名
第2課
知識點一
標(biāo)簽控件Label
通常在表單上用來顯示靜態(tài)文本。
主要屬性:
1Name屬性
表示標(biāo)簽的名稱,每個標(biāo)簽的名稱是唯一的。
2Caption屬性
表示標(biāo)簽上顯示的文本。
例1在表單上畫一個名為Mylab的標(biāo)簽并顯示文字
“計算機等級考試”
操作:
1)將標(biāo)簽Name屬性改為Mylab
2)將標(biāo)簽Caption屬性改為”計算機等級考試”
知識點二
命令按鈕Command
通常用來完成某個特定功能如關(guān)閉表單、打印報表等。
主要屬性:
1Name屬性和Caption屬性
這兩個屬性和標(biāo)簽控件中含義完全相同。
2Enabled屬性
表示當(dāng)前按鈕是否可用,簡稱可用性。
若值為.T.表示可用,為E表示不可用。
3Visible屬性
表示當(dāng)前按鈕是否可見,簡稱可見性。
若值為.T.表示可見,為.F.表示不可見。
例1表單上有一個名稱為Mylab的標(biāo)簽和一個名稱為
Mycmd的命令按鈕。點擊命令按鈕后標(biāo)簽中顯示
“大家好",同時命令按鈕隱藏。
操作:
1)將標(biāo)簽Name屬性改為Mylab
2)將命令按鈕Name屬性改為Mycmd
3)雙擊命令按鈕,進入到Click事件中。
Thisforrn.Mylab.Caption="大家好"
Thisform.Mycmd.Visible=.F.
上述代碼中Thisform是當(dāng)前表單的對象名
知識點三
文本框TextBox
主要用于輸入數(shù)據(jù)和編輯數(shù)據(jù)。
主要屬性:
1Value屬性
表示文本框中的內(nèi)容
2PasswordChar屬性
表示文本框中顯示文本時的替換符
例1表單上有一個名稱為Mytext的文本框。文本框中
內(nèi)容為“我的密碼”,但顯示用*號代替。
操作:
1)將文本框的Value屬性改為“我的密碼”
2)將文本框的PasswordChar屬性改為"*"
練習(xí)題
1表單上有兩個文本框和一個命令按鈕。點擊按鈕后將
文本框1中的文本復(fù)制到文本框2中。
2表單上有兩個文本框和一個命令按鈕。點擊按鈕后將
文本框1移至表單左上角,文本框2移至表單右下角。
第3課
知識點一
復(fù)選框Check
通常用來標(biāo)記一個數(shù)據(jù)的兩種狀態(tài)。
主要屬性:
1Caption屬性
含義和前面的標(biāo)簽控件完全相同。
2Value屬性
用來表示當(dāng)前數(shù)據(jù)的狀態(tài)。
值為0表示未選中,值為1表示選中。
例1表單上有兩個復(fù)選框,名稱為Checkl和Check2。
還有一個名稱為Mylab的標(biāo)簽和一個名稱為Cmd
的命令按鈕。
要求:
1)Checkl和Check2的標(biāo)題分別為數(shù)學(xué)和英語。
2)點擊命令按鈕,根據(jù)下表各種情形顯示標(biāo)簽內(nèi)容。
ChecklCheck2標(biāo)簽內(nèi)容
選中未選中我喜歡的學(xué)科是數(shù)學(xué)
未選中選中我喜歡的學(xué)科是英語
選中選中我喜歡的學(xué)科是數(shù)學(xué)英語
操作:
1)將Checkl和Check2的Caption屬性改為數(shù)學(xué)和英語。
2)雙擊命令按鈕,進入Click事件。
Mytext="我喜歡的學(xué)科是”
IFThisform.Checkl.Value=1THEN
Mytext=Mytext+”數(shù)學(xué),
ENDIF
IFThisform.Check2.Value=1THEN
Mytext=Mytext+"英語”
ENDIF
Thisform.Mylab.Caption=Mytext
知識點二
選項按鈕組OptionGroup
通常包含若干個選項按鈕,用戶只能從中選擇一個。
主要屬性:
1ButtonCountMtt
表示選項按鈕組中按鈕的個數(shù)。
2Value屬性
表示選項按鈕組中被選中按鈕的序號。
例1表單上有一個名稱為MyOption的選項按鈕組。
還有一個名稱為Mylab的標(biāo)簽和一個名稱為
Cmd的命令按鈕。
要求:
1)選項按鈕組包含3個按鈕,標(biāo)題分別是數(shù)學(xué)、英語、
計算機。
2)點擊命令按鈕,根據(jù)選擇在標(biāo)簽中顯示相應(yīng)學(xué)科。
操作:
1)將選項按鈕組的ButtonCount屬性改為3。
2)分別將三個按鈕Optionl,Option2,Options的Caption
依次改為“數(shù)學(xué)"、“英語“、“計算機”。
3)雙擊命令按鈕,進入Click事件。
DOCASE
CASEThisform.MyOption.Value=1
Thisform.Mylab.Caption="數(shù)學(xué)"
CASEThisform.MyOption.Value=2
Thisform.Mylab.Caption="英語"
CASEThisform.MyOption.Value=3
Thisform.Mylab.Caption="計算機"
ENDCASE
知識點三
表格Grid
通常在表單上顯示數(shù)據(jù)庫表、查詢、視圖等。
主要屬性:
1RecordSourceType屬性
表示表格的數(shù)據(jù)源類型。
常用的取值:。表4SQL語句
2RecordSource屬性
表示表格的數(shù)據(jù)源。
RecordSourceType為。時,此屬性為一個表名。
RecordSourceType為4時,此屬性為一個SQL語句。
例1表單上有一個名稱為Mygrid的表格控件。要求直接
使用表的方式顯示倉庫表。
操作:
1)將表格控件的RecordSourceType屬性改為0
2)將表格控件的RecordSource改為“倉庫”
例2表單上有一個名稱為Mygrid的表格控件,要求使用
SQL語句顯示倉庫表的全部信息。
操作:
1)將表格控件的RecordSourceType屬性改為4
2)將表格控件的RecordSource改為SELECT*FROM倉庫
知識點四
頁框PageFrame
通常包含多個頁面,每個頁面顯示不同數(shù)據(jù)。
主要屬性:PageCount屬性
表示頁框中包含頁面的個數(shù)。
例1表單上有一個名稱為Mypage頁框。包含三個頁面
三個頁面中分別顯示倉庫表、職工表、訂購單表。
操作:
1)將頁框控件的PageCount屬性改為3
2)選擇第一頁,在上面畫一個表格控件。
將表格RecordSourceType改為0,將RecordSource
改為倉庫。
3)要同樣方法制作第二頁和第三頁。
練習(xí)題
3表單上有一個名稱為MyOption的選項按鈕組、三個
復(fù)選框、一個名稱為Mylab的標(biāo)簽和一個命令按鈕。
要求:
1)選項按鈕組包含2個按鈕,標(biāo)題分別是男生、女生。
2)三個復(fù)選框的標(biāo)題分別是VF、VB、C語言。
3)點擊命令按鈕,按下列格式在標(biāo)簽中顯示相應(yīng)結(jié)果。
(我是XX生,選修的課程是XXXXXX)
4表單上有一個名為Mygrid的表格控件和一個命令按鈕。
點擊按鈕后表格中顯示暫沒有訂購單的職工信息。
第4課
知識點一
計時器Timer
主要用于在一定時間間隔內(nèi)重復(fù)某動作。
主要屬性:
In怕rval屬性表示計時器的時間間隔(單位:毫秒)
注意:1秒=1000毫秒
若將Interval改為0,則表示計時器不起作用。
主要事件:
計時器最常用的是Timer事件,表示在一定的時間間隔內(nèi)
重復(fù)執(zhí)行某過程。
例1表單上有一個計時器Timer!和一個標(biāo)簽Label"!。
要求程序運行后標(biāo)簽每0.1秒從右至左移動10,
當(dāng)標(biāo)簽全部移出表單后再從最右端出現(xiàn)。反復(fù)循
環(huán)達到廣告字幕的效果。
操作:
1)將計時器Timeri的Interval設(shè)為100。
2)雙擊計時器Timeri,進入到Timer事件。
ifThisform.Labell.Left+Thisform.Label1.Width<=0then
Thisform.Labell.Left=Thisform.Width
else
Thisform.Labell.Left=Thisform.Label1.Left-10
endif
知識點二
列表框List
主要用于將相關(guān)信息組成一個列表。
主要屬性:
1RowSourceType屬性
表示列表框中數(shù)據(jù)源類型
1值3SQL語句5數(shù)組6字段
2RowSource屬性
表示列表框中數(shù)據(jù)源
3Value屬性
表示列表框中被選中的項目
4MultiSelect屬性
表示列表框是否可以多選
取值.T.或1可以多選
取值.F.或0不能多選
5List屬性
表示列表框中所有數(shù)據(jù)項
例如:列表框List)中第3項為List1.List(3)
6ListCount屬性
表示列表框中項目總數(shù)
7Listindex屬性
表示列表框中被選中項目的序號
8Selected屬性
表示列表框中某項目是否被選中
例如:若列表框Li列1中第2項被選中,則輸出“Yes”;
否則輸出“No”。
IFThisform.List1.Selected(2)THEN
?“Yes”
ELSE
?“No”
ENDIF
主要方法:
1)Additem增加項目
例如:在列表框Listl中增加一項”VF程序設(shè)計”。
List1.Addltem("VF程序設(shè)計")
2)Removeitem冊U除項目
例如:將列表框Listl中第3項刪除。
Listl.Removeltem(3)
例1表單上有一個列表框、一個標(biāo)簽和一個命令按鈕。
列表框中有三個項目:VF、VB、C語言。選中
一個項目并點擊按鈕,標(biāo)簽中顯示相應(yīng)信息:
(我選修的課程是XX)o
操作:
1)將列表框的RowSourceType屬性改為1-值。
2)在列表框的RowSource屬性中依次輸入:
VF,VB,C語言。
3)雙擊命令按鈕,進入Click事件。
S="我選修的課程是"
S=S+Thisform.Listl.Value
Thisform.Labell.Caption=S
例2表單上有一個列表框、一個文本框和兩個命令按鈕。
點擊按鈕一實現(xiàn)將文本框中內(nèi)容增加到列表框中,
點擊按鈕二實現(xiàn)將列表框中選中的項目刪除。
操作:
1)雙擊命令按鈕一,進入Click事件。
Thisform.Listl.Addltem(Thisform.Text1.Value)
2)雙擊命令按鈕二,進入Click事件。
Thisform.Listl.Removeltem(Thisform.List1.Listindex)
知識點三
組合框Combo
主要屬性:
Style表示組合框的樣式
常見的取值:
0下拉式組合框2下拉式列表框
其余屬性(除MultiSelect外)和方法完全同列表框
知識點四
關(guān)閉表單
命令:THISFORM.RELEASE
練習(xí)題
5表單上有一個計時器和一個標(biāo)簽。要求表單運行后標(biāo)簽
中顯示系統(tǒng)當(dāng)前的時間,并每秒動態(tài)更新。
6使用計時器和標(biāo)簽制作從左至右的廣告字幕效果。
7表單上有一個列表框Listl、一個文本框Text!和一個
命令按鈕Commandl。要求在文本框中輸入一個整數(shù)
(2-9)之間,點擊命令按鈕將10至100之間所有能被
此整數(shù)整除的數(shù)顯示在列表框中。
第七章菜單設(shè)計與應(yīng)用
第1課
知識點一
下拉式菜單
主要步驟:
1文件,新建,菜單,下拉式菜單
2輸入各菜單的標(biāo)題和內(nèi)容
3保存菜單文件
4生成和運行菜單程序
例1新建一個名稱為Mymenu菜單,包含兩個菜單項:
操作和退出,保存和運行菜單。
操作:
1)文件,新建,菜單,下拉式菜單
2)分別輸入兩個菜單項的標(biāo)題:操作和退出。
3)文件,保存,輸入文件名Mymenu保存菜單。
4)菜單->生成,生成菜單程序Mymenu.mpro
5)在命令窗口輸入:DOMymenu.mpr
知識點二
為頂層表單添加菜單
指表單運行時在上面加載并顯示菜單。
主要步驟:
1建立一個下拉式菜單
2在常規(guī)選項對話框中選中“頂層表單”復(fù)選框
3建立一個表單并將ShowWindow屬性設(shè)為2-頂層表單
4在表單的Init事件中加載菜單
DO菜單名.mprWITHthis
5在表單的Destroy事件中釋放菜單
RELEASEMENU菜單名
例2新建一個頂層表單,并將例1中的菜單Mymenu
添加到表單中。
操作:
1)打開例1中的菜單Mymenu
2)在常規(guī)選項對話框中選中“頂層表單”復(fù)選框
3)重新生成菜單程序Mymenu.mpr
4)新建一個表單,將ShowWindow屬性設(shè)為2-頂層表單。
5)進入表單的Init事件:
DOMymenu.mprWITHthis
6)進入表單的Destroy事件:
RELEASEMENUMymenu
知識點三
快捷菜單
指點擊鼠標(biāo)右鍵時彈出的菜單,又稱彈出式菜單。
主要步驟:
1文件,新建,菜單,快捷菜單
2輸入各菜單的標(biāo)題和內(nèi)容
3保存菜單文件
4生成菜單程序
5在表單的RightClick事件中彈出菜單
DO菜單名.mpr
例3建立一個快捷菜單Mymenu,包含兩個菜單項:
日期和時間。再建立一個名稱為Forml的表單,
實現(xiàn)在表單標(biāo)題上顯示當(dāng)前日期和當(dāng)前時間。
操作:
1)新文件,新建,菜單,快捷菜單
2)分別輸入兩個菜單項的標(biāo)題:日期和時間
3)保存菜單并生成菜單程序Mymenu.mpr
4)新建一個表單,并進入RightClick事件:
DoMymenu.mpr
5)進入菜單項日期的命令事件:
Forml.Caption=DTOC(DATE())
6)進入菜單項時間的命令事件:
Forml.Caption=TIME()
知識點四
返回系統(tǒng)菜單
命令:SETSYSMENUTODEFAULT
練習(xí)題
1建立一個頂層表單Forml,上面添加一個菜單Menul
只有一個菜單項:退出,點擊時退出表單。
2建立一個快捷菜單Mymenu,兩個菜單項:年份和月份。
實現(xiàn)在表單Forml標(biāo)題上顯示年份和月份。
附錄:全部練習(xí)題答案
第一章VisualFoxPr
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年反腐倡廉警示教育工作總結(jié)
- 美術(shù)鑒賞與創(chuàng)新思維
- 2006年貴州高考語文真題及答案
- 體育用品行政后勤工作總結(jié)
- 2023-2024年員工三級安全培訓(xùn)考試題附答案【完整版】
- 教師期末教學(xué)工作總結(jié)4篇
- 快樂的國慶節(jié)作文400字5篇
- 市場震動月度報告
- 鄉(xiāng)鎮(zhèn)領(lǐng)導(dǎo)干部學(xué)法用法工作總結(jié)三篇
- 《工傷統(tǒng)籌管理工作》課件
- 醫(yī)院消防培訓(xùn)方案
- 【人教部編版語文六年級上冊】選擇題專項練習(xí)復(fù)習(xí)(100道題后附答案)
- 腹膜透析建立課件
- 用戶側(cè)儲能商業(yè)模式及投資收益分析
- 廣東省廣州市越秀區(qū)2022-2023學(xué)年八年級上學(xué)期期末物理試卷
- 統(tǒng)編版語文四年級上冊《期末作文專項復(fù)習(xí)》 課件
- 2024年黑龍江省機場集團招聘筆試參考題庫含答案解析
- 食品從業(yè)人員安全學(xué)習(xí)培訓(xùn)記錄
- 內(nèi)科季度護理質(zhì)量分析課件
- 2024年安全生產(chǎn)月活動安全知識競賽題庫含答案
- 銷售回款專項激勵政策方案(地產(chǎn)公司)
評論
0/150
提交評論