VFP知识点总结
- 格式:docx
- 大小:15.81 KB
- 文档页数:13
一、有效性规则和参照完整性
1.有效性规则
先选中要求设置的字段,
(1)“规则”:逻辑型表达式即SQL格式表达式。
例:年龄是15-20:年龄>=15 and 年龄<=20
(2)“信息”:字符型表达式,直接摘抄加“”(英文状态)
(3)“默认值”:看选中的字段是什么类型
2.参照完整性
(1)判断一方(没有重复字段的表)和多方(有重复字段的表)
(2)一方建主索引,多方建普通索引
(3)由一方向多方扯一条线
(4)清理数据库(数据库—清理数据库,如果遇到“文件正在使用暂不能发布pack命令,”
此时close all,再重新以独占方式打开数据库再进行一次清理)
(5)右键编辑参照完整性(两个永久性联系须一一设置其参照完整性)
二、SQL语句
1.格式:
格式一:
Select [top]字段1/字段2…… from表1,表2…. where连接条件and(or) 筛选条件{group by 某一字段 [haing count(字段)] } order by字段1 asc/desc, 字段2
asc/desc…… into table表
格式二:
Select[top]字段1/字段2…… from表1 join 表2 join表3…. on连接条件(返回来写) where筛选条件 {group by 某一字段 [haing count(字段)] } order by字段1 asc/desc, 字段2 asc/desc…… into table表
⑴.“字段1/字段2……”,根据题目要求,搜
索什么字段写什么字段,若其中某一字段在表中没有则认定为是起的新名字,在该字段前加as,之后向函数avg(),sum(),max(),min(),count()。
⑵.“group by 某一字段 [haing count(字段)]”为难点。
考虑用不用group by,首先在草稿纸上或脑海生成题目要求的表,选取一个个例填写分析是否用得到group by,按什么分组。
(3)select * from 表 where 某一字段is null
(4)运行过程中碰到“XX不唯一”找到该字段在其前面加上表名。
2.查询设计器与视图设计器区别“更新条件”
⑴函数和表达式:右侧……
⑵查询去向:右键---输出设置—查询去向---
表
或菜单查询---查询去向----表
3.其他
(1)insert into表名values(……)
insert 表名(字段1,字段2……)values(……)
(2)update表名set 字段where条件
Vf命令:replace字段with…for条件(3)delete from 表名where条件
Pack删除打逻辑删除标记记录
Zap删除全部记录只留表结构
(4)alter table表名add (column)字段 C(6) alter table表名drop字段
alter table表名rename字段1 to字段2
(5)select *from表into array/table/cursor 数组名/新表名/临时表
select * from表to fiel文件名(.txt)三、菜单
1.加访问键-----\<字母(笔试中填)| 选项处打Ⅴ加分隔线-----\-
2.显示-常规选项
(1)位置:“替换”、“追加”、“在…之前”等。
(2)作为顶层表单
3.菜单先保存(.mnx)再生成后运行(do 菜单名.mpr)。
四、表单
1.文件名---保存时的名字标题---caption
名,名称,控件名---name
2.各控件常用属性
(1)命令按钮commad1:
enabled、visible等。
(2)命令组按钮commandgroup1(右键--编辑):
buttoncount、buttons(指定选第几个按钮)、value(选中的按钮)、visible等。
(3)标签label1:
(4)文本框text1:
value(输入的内容)、passwordchar、
inputmark、controlsource等。
(5)复选框check1:
value(选中为1,不选中为0)等
(6)选项组按钮buttongroup1(右键--编辑):
buttoncount、buttons(指定选第几个按钮)、value(选中的按钮)、visible等。
(7)表格grid1(右键--编辑):
columncount、recordsourcetype、
recordsource
(8)页框pageframe(右键--编辑):
pagecount、pages等。
(9)列表框list1:
value(选中的条目)、list(数值)---选中第几项、listindex---列表索引、multiselect rowsourcetype、rowsource 等。
(10) 组合框combo1:
value(选中的条目)、list(数值)---选中第几项、listindex---列表索引、multiselect rowsourcetype、rowsource 、style等。
(11)时钟timer1:
enabled、interval等
3.表单中顶层表单步骤:
(1)表单showwindows-2
(2)load或init事件:do菜单名.mpr with this
4.表单中快捷菜单:
rightclick事件:do 菜单名.mpr
5.布局工具栏:
先全部选中要求的控件,显示—布局工具栏6.新建方法程序或属性:
表单---新建方法程序/新建属性
7.
close all
open database数据库名
use表
go top
do while not eof()或do while eof()=.f.
变量赋予初值
do case if条件 (then)
case条件语句块1
表达式1 或 else
case条件语句块2 表达式2 endif
……………………
otherwise
表达式n
endcase
语句块
skip
enddo
五、杂项
1.函数:
Str()数值型转换为字符型
Val()字符型转换为数值型
CtoD()字符型转换为日期型
DtoC()日期型转换为字符型
CtoT()字符型转换为日期时间型
TtoC()日期时间型转换为字符型
abs()----绝对值
sign()---正数为1,负数为-1,0为0
sqrt()---开平方
pi()---圆周率
int()---整数部分
ceiling()---比他大的最小整数ceiling(4.9)---5 floor()---比他小的最大整数floor(4.9)---4 round()---四舍五入round(123.453,0)---123
round(123.453,-1)---120
round(123.453,-2)---100 mod()---余数mod(13,-12)----11 max()、min()
len()---字符串长度x=”book,len(x)—4
len(“x”)--1 lower()---大写变小写、upper()---小写变大写space()---测空格
trim()---去掉字符串尾部
ltrim()---去掉字符串头部
alltrim()---去掉字符串头部和尾部
left()---从左边取规定个字符
right()---从右边取规定个字符
substr()---从规定位置起取规定个字符
occurs()---第一个字符串在第二个字符串中出
现的次数
at()---第一个字符串在第二个字符串中出现的
位置(区分大小写)
atc()---第一个字符串在第二个字符串中出现
的位置(不区分大小写)
stuff()---替换stuff(“abcdefg”,2,0,”xyz”)---axyzbcdefg
stuff(“abcdefg”,2,5,”xyz”)---axyzg
stuff(“abcdefg”,2,4,””)---afg chrtran()—单换
chrtran(“abacadad”,”ad”,”xw”)---xbxcxwxw
like()---是否完全相等
date()、time()、datetime()、year()、month()、day()、hour()、minute()、second()
between()---值测试函数
isnull()---是否是null
empty()---是否是0
varitype()---测试类型
eof()---文件末尾、bof()---文件开头
recno()---当前记录的记录号
recount()---文件中记录个数
iff()--- 相当于if…else..
deleted()---当前指针所指记录是否打删除标记
2.字段类型:
字符型 C 数值型 N 货币型 Y 日期型 D 日期时间型 T 逻辑型 L 3. 扩展名后缀:
数据库:.dbc 表文件:.dbf
菜单定义文件:.mnx
菜单程序(执行)文件:.mpr(不能省)
程序文件:.qpr 表单文件:.scx 查询文件:.qpr(不能省) 项目文件:.pjx 报表文件:frx 连编文件:.app report form 报表文件名.frx preview。