Visual FoxProVFP复习资料.docx
《Visual FoxProVFP复习资料.docx》由会员分享,可在线阅读,更多相关《Visual FoxProVFP复习资料.docx(9页珍藏版)》请在冰豆网上搜索。
VisualFoxProVFP复习资料
第一部分数据库基础
1、DBS(数据库系统)=DB(数据库)+DBMS(数据库管理系统)+DBAS(数据库应用系统)
2、
外模式
模式
内模式
其他说明
实体集
关系
二维表
一张表
实体
元组
记录
表中一行
特性
属性
字段
表中一列
说明:
重点掌握模式与内模式的关系,同一行为同种事物,即:
提到关系即指表,提到元素即指记录,以此类推
3、数据模型表现类型:
层次模型(树)、网状模型(网)、关系模型(二维表),VFP为关系模型。
4、数据完整性包括:
实体完整性(行完整性)、域完整性(列完整性)和参照完整性(数据完整性)。
5、关系运算包括:
选择运算、投影运算和连接运算
6、实体间的关系:
一对一、一对多、多对多
7、VFP文件扩展名汇总:
SCX——表单,DBC——数据库,DBF——数据表,PJX——项目文件,FRX——报表,MNX——菜单,MPR——菜单源程序,QPR——查询文件
第二部分VFP编程基础
1、基本数据类型
①字符型C
②数值型N
③日期型D标准格式:
{^2011-01-01}
④日期时间型T
⑤逻辑型L
注意:
123与"123"的区别
2、变量赋值
①store值to变量名。
例:
store5toa
注意赋一个值给多个变量:
store5toa,b
②变量名=值。
例:
a=5
声明数组:
dimension|declear数组名(<行数>[,<列数>])
3、常见运算符及运算
①运算符
+,-,*,/,^或**(乘方),%(求余),=,>,<,>=,<=,#或<>或!
=(不等于),==(完全等于),$(包含于)
②运算举例
"ABC"+"DEF"="ABCDEF"
"ABC"-"DEF"="ABCDEF"
5%2=1
{^2010-01-01}+2={^2010-01-03}
{^2010-01-03}-2={^2010-01-01}
注意:
没有日期+日期的形式!
③关系运算
NOTANDOR运算顺序,在没有括号的情况下:
NOT→AND→OR
④运算顺序
优先顺序
运算符类型
运算符
1
算术运算符
^(指数运算)
2
-(负数运算)
3
*、/(乘除运算)
4
%(求余运算)
5
+、-(加减运算)
6
字符串运算符
+、-(字符串连接)
7
关系运算符
=、<>、<、>、<=、>=、$、==
8
逻辑运算符
NOT
9
AND
10
OR
例:
设变量x=3,y=-2,a=6.5,b=-7.2,求下列表达式的值
x+y>a+bANDNOTy
①先算算术运算
1>-0.7ANDNOT.F.
②再作关系运算
.T.ANDNOT.F.
③作逻辑非运算
.T.AND.T.
④最后得
.T.
4、常见函数
①数学函数
INT()——取整函数、MAX()——最大值、MIN()——最小值、PI()——圆周率、MOD()——求余函数、ROUND()——保留小数、RAND()——产生(0,1)的随机数【思考如何生成(a,b)的随机数】
②字符串函数
ØSURSTR(,[,]),从字符C1的第N1个位置起,取N2个长度的字符,若无N2值,则取剩余所有字符。
例:
SURBSTR("ABC",2,1)="B";SURBSTR("ABC",2)="BC"
ØAT(,[,]),从N位置起,字符C1第一次在C2中出现的位置
例:
AT("A","ABC")=1
ØSPACE(),CHR(13)的使用
ØLEFT()、RIGHT()、LEN()、LTRIM()、RTRIM()、ALLTTRIM()
③日期函数
DATE()——日期型
DATETIME()——日期时间型
TIME()——字符型※※
YEAR()、MONTH()、DAY()、HOUR()、MINUTE()——数值型※※
④类型转换函数
ØVAL()——将字符型转化为数值型,特别注意:
该函数遇到第一个非数字字符立即停止转换!
例:
VAL("2+3")=2,由于"+"不是数字,所以遇到加号停止!
ØSTR([,[,]])——将N1转化为小数位数为N3长度为N2的字符型数据。
例:
STR(2.5)=3,如果没有N3值,默认保留整数
例:
STR(2.555,3,2)=2.6,由于3代表保留三位字符是保留一位小数,2代表保留两位小数,当两组参数有冲突时以前者为准!
例:
STR(2.555,4.1)=2.6,当字符保留位数大于小数点保留位数,以小数点保留位数为准!
ØCTOD(),CTOT(),DTOC(),TTOC()
注意理解记忆:
C为字符型,T为日期时间型,D为日期型。
C-TO-D表示字符型转化为日期型
⑤测试函数
Bof()测试指针是否指向文件头
Eof()测试指针是否指向文件尾
5、自定义过程
①参数的传递
Parameters/Lparameters<形参表>
②默认使用传值方式,@符号来强制使用传址方式
6、常见命令
①thisform.release——退出表单
②messagebox(内容)——弹出消息框,注意内容部分一定为字符型数据。
考试时为了保证正确性后两个逗号的内容不写
③WAIT[<提示信息>]TIMEOUTn
④运行表单doform表单名
运行菜单do菜单名.MPR
运行查询do查询名
⑤恢复系统默认菜单setsysmenutodefault
⑥获得焦点
thisform.text1.selstart=0
Thisform.text1.sellength=len(thisform.text1.text)
⑦添加条目
thisform.list1.additem()
thisform.list1.addlistitem(内容,行,列)
删除条目
Thisform.list1.removeitem(i)i为记录条数
⑧菜单:
(E)→\
第三部分程序代码
一、选择结构
1、单条件选择
①IF语句
IF<条件>
[语句列1]
[ELSE
[语句列2]]
ENDIF
②IIF语句
IIF(条件,表达式1,表达式2)
2、多条件选择——DOCASE语句
DOCASE
CASE<条件1>
[语句列1]
CASE<条件2>
[语句列2]
……
OTHERWISE
[其他语句列]
ENDCASE
二、循环结构
1、当型循环结构
DOWHILE<条件>
[<命令列>]
[EXIT]
[LOOP]
ENDDO
条件为.F.时退出循环;执行到EXIT退出循环,无条件地转到ENDDO的后继命令去执行,多重循环,只能跳出一层;LOOP结束当前次的循环,跳回到DOWHILE的开始处,重复条件的判断
2、步长型循环
FOR<变量>=<初值>TO终值STEP<步长>
[<命令列>]
[EXIT]
[LOOP]
ENDFOR|NEXT
没有SETP,默认的步长值为1
三、表的基本操作
Ø创建数据表:
createtable表名(字段名类型(长度))
例:
creattableabc.dbf成绩N(3)
Ø打开数据表:
use<数据表名>
Ø关闭数据表:
use
Ø添加(空)记录:
append[blank]
Ø复制表:
copyto新文件名[范围][for|while<条件>][fields字段名]
Ø浏览表:
list/display[范围][for|while<条件>][fields字段名]
List默认范围all;display默认范围next1
范围是如下之一:
ALL全部记录
NEXTn包括当前记录开始的n条记录
RECORDn只对第n条记录操作
REST当前记录开始到文件尾。
Ø移动指针的命令:
绝对移动:
Gobottom|top|<记录号>
相对移动:
Skipn|-n
Ø以当前表为基础,生成新表:
COPYTO<新表名>FIELDS<字段列表>
Ø逻辑删除:
DELETE[范围][条件]
Ø恢复打上删除标记记录:
RECALL
Ø物理删除:
PACK
Ø删除所有记录:
ZAP
ØVFP可以同时打开32767个表,每个表都在不同的工作区中。
工作区切换:
SELECT<编号>|<别名>
编号1-32767;或A-J;或用Alias指定的名称
Use<表名>[in<工作区编号>alias<别名>]
四、SQL语言
①查询记录
Øselectfrom是基本子句
Ø多表查询必须写连接条件,默认为内连接
Øhaving子句随groupby出现,也可不出现,但不可单独出现。
看见sum,avg,count,max,min等函数注意观察时候有groupby
Ø查询去向:
intodbf|table表名字
intocursor临时表名字
intoarray数组名
②插入记录
INSERTINTO表名字VALUES(值1,值2,……)
③更新记录
UPDATE表名字SET字段1=值1,字段2=2,……;WHERE条件
④删除记录
Deletefrom表where条件
⑤删除表
DROPTABLE
五、视图操作
1、创建视图CREATEVIEW
2、删除视图DROPVIEW
第四部分表单控件
1、标签(label)
Caption属性:
注意caption一定为字符型数据
2、文本框(TEXT)
VALUE属性:
可以存放任何类型的数据,如果使用数值型,建议将VALUE的默认值设置为0
PASSWORDCHAR:
如果该文本框用来输入密码,需要修改此项值为"*"
Valid事件:
焦点失去之前发生的事件
InteractiveChange事件:
数据改变时发生的事件
3、按钮(COMMAND)
caption属性
click事件:
用来存放执行的代码
4、编辑框(EDIT)
Value属性:
同TEXT相同
5、选项按钮组(optiongroup)
如果选择第一个按钮则选项按钮组的值为1,以此类推
6、复选框(check)
选中——返回值为1或.T.
未选中——返回值为0或.F.
7、列表框(list)
ColumnCount:
列表框列数
RowSource行源
RowSourceType行源类型
Selected框中的某个条目是否处于选定状态