第一章 VF数据库基础
1. Visual FoxPro 就是一种在计算机上运行的数据库管理系统软件。
2.数据库管理系统(DBMS)是数据库系统(DBS)的核心。 DBS=DB(数据库)+DBMS 3.两个实体间的联系主要归结为以下三种类型:一对一联系,一对多联系,多对多联系。 4.数据模型分三种:层次模型,网状模型,关系模型。关系模型就是用二维表结构来表示实体以及实体之间联系的模型。一张二维表就是一个关系,每一个关系都是一个二维表。VF属于关系数据模型。
5.关系的基本运算有两类:一类是传统的集合运算(并,差,交等),另一类是专门的关系运算(选择,投影,连接)。选择:从关系中找出满足给定条件的元祖(记录)的操作。投影:从关系模式中指定若干个属性(字段)组成新的关系。连接:连接是关系的横向结合。连接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足条件的元祖。
6.扩展名:表文件:.dbf 项目文件:.pjx 数据库:.dbc 查询文件:.qpr 表单:.scx 菜单定义文件:.mpr 索引文件:.cdx 程序: .prg
第二章 VF程序设计基础
1. 命令格式:set century on/off on 显示世纪,即四位数字表示年份 off不显示世纪,急用二位数字表示年份。 是系统的默认设置
2.命令格式:set mark to “日期分隔符 (-或、)”
3.当出现内存变量与字段变量同名时,若简单的用变量名访问,则系统默认为字段变量。如果要访问内存变量,则必须在变量名前加上前缀M.(或M->) 。
4.取子串函数
格式:Left/right(<字符表达式>,<长度>) 功能:从指定表达式值的指定起始位置取指定长度的字串作为函数值。在此函数中,若缺省第三个自变量<长度>,则函数从指定位置一直取到最后一个字符。
格式:substr(<字符表达式>,<起始位置> [<长度>]) 功能:从指定表达式的指定起始位置取指定长度的字串作为函数值。在此函数中,若缺省第三个自变量<长度> , 则函数从指定位置一直取到最后一个字符。
例如:Store“GOOD BYE!” to x
?left(x, 2), substr(x, 6, 2) +substr(x, 6), right(x, 3) GO BYBYE! YE!
5.计算子串出现次数函数
格式:occurs(<字符表达式 1>,<字符表达式 2 >)
功能:返回第一个字符串在第二个字符串中出现的次数,函数值为数值型。若第一个字符串不是第二个字符串的子串,函数值为0。
6.求子串位置函数
格式:at(<字符表达式 1>,<字符表达式2> [,<数值表达式>] ) atc (<字符表达式 1>,<字符表达式 2>[,<数值表达式>])
功能:如果字符表达式1是字符表达式2的子串,则返回<字符表达式 1>值的首字符在<字符表达式 2>中的位置。若不是子串,则返回0。atc()与at()功能类似,但在子串比较时不分字母大小写。第三个自变量<数值表达式>用来表明要在<字符表达式 2>值中搜索<字符表达式 1>值的第几次出现,其默认值是1。
7.数据类型转换函数
a.数值转换成字符串 格式:str(<数值表达式>[,<长度>[,<小数位数>]])
功能:<数值表达式>值转换成字符串,转换时根据需要自动进行四舍五入,返回字符串的理想长度L应该是<数值表达式>值得整数部分的位数加上一位小数点。如果<长度>值大于L,则字符串加前导空格以满足规定的长度要求;如果<长度>值大于<数值表达式>值的整数部分位数(包括负号)但又小于L,择优先满足整数部分而自动调节小数位数;如果<长度>值小于<数值表达式>值得整数部分位数,则返回一串(*),<小数位数>的默认值为0,<长度>默认值为10。 例如:Store -123.456 to n
?str(n, 6, 2) str (n, 3)
-123.456 *** b.字符串转换成数值 格式:val(<字符表达式>)
功能:将由数字符号(包括正负号,小数点)组成的字符型数据转换成相应的数值型数据。若字符串内出现非数字字符,那么只转换前面部分;若字符串的首字符不是数字符号,则返回数值零,但忽略前导空格。
c.字符串转换成日期或日期时间
格式:ctod(<字符表达式>) 功能:将<字符表达式>值转换成日期型数据
str(n,6) str(n) -123 -123 Ctot(<字符表达式>)
功能:将<字符表达式>值转换成日期时间型数据 d.日期或日期时间转换成字符 相应的是dtoc( )和ttoc( )
8.表文件尾测试函数
最上面的记录是首记录,记为TOP;最下面的记录是尾记录,记为BOTTOM。在第一个记录之前有一个文件起始标志(BOF);在最后一个记录的后面有一个文件结束标识(EOF)。刚刚打开表时,记录指针总是指向首记录。 格式:EOF ([<工作区号>|<表别名>])
功能:测试指定表文件中的记录指针是否指向文件尾,若是就返回逻辑真(.T.),否则就返回逻辑假(.F.)。
如果对表中的记录进行查找,若查不到记录的话,则返回结果为.T. 如果在指定工作区上没有打开表文件,则返回结果.F.
9.在VF中,若以变量的作用域来分,内存变量可分为全局变量、私有变量和局部变量三类。其中私有变量不需要事先建立,可直接使用。默认建立的变量是私有变量。 全局变量 私有变量 局部变量 隐藏主程序中的变量
命令 Public 无 Local Private 作用域 一直有效 建立它的模块以及下属模块 建立模块 本模块以及下属模块 第三章 VF数据库及其操作
1. 创建:数据库 create database 数据库1.dbc 表 create 学生表.dbf 2.打开: 数据库 open database 表 use 表名 3.修改:数据库 modify database