vf

  • 格式:doc
  • 大小:67.00 KB
  • 文档页数:20

第一章数据库基础数据库系统的相关概念(1)数据库(DB)存储在计算机上结构化的相关数据集合。

不但包含数据本身,还包含数据之间的联系。

(2)数据库管理系统(DBMS)用户和数据库之间的接口,是帮助用户建立、维护和使用数据库的软件系统。

(3)数据库系统是指引进了数据库技术后的计算机系统,实现了有组织、动态地存储大量相关数据,为数据处理和信息资源共享提供了便利手段。

关系模型可以大致分为层次模型、网状模型和关系模型(1)关系在关系型数据中,关系在逻辑上就是一张二维表,它由行和列组成。

它有且仅有一个关系名,是用户在磁盘中找到它的惟一标识。

在VF中,一个关系就是一个以.DBF为扩展名的表文件,简称表。

(2)属性二维表中的一列,表示实体的一些相关特征。

在VF中,属性被称为字段。

(3)元组二维表中的一行,表示一个实体所有属性的集合。

在VF 中,元组被称为记录。

(4)关键字指属性或属性组的集合,其值能够惟一地标识一个元组。

如果一个表中有多个字段都符合关键字的条件,我们只能选择一个作为主关键字,其余的选作候选关键字。

(5)外部关键字对于两个相互的关系R和S,如果字段A是关系R 的关键字,则字段A就是关系S的外部关键字,也叫做外码或外键。

外部关键字用来表现表与表之间的关联。

第二章1、VF的工作方式A、菜单方式B、命令方式例如:可以在命令窗口中输入“QUIT”,然后按ENTER键,就可以退出VF应用程序。

C、程序执行方式程序执行方式就是事先写好一个以.PRG为扩展名的程序文件,把要执行的步骤按顺序详细地写到程序文件中,然后执行程序文件。

第三章数据类型与数据运算1、常量常量表示一个具体的、不变的值。

VF中常量包括数值型、字符型、日期型、日期时间型、逻辑型和货币型6种。

A、数值型常量例如:65、123表示正数,-78.9表示负数也可以用科学记数法表示数值型常量例如:1.5E7代表1.5×210B、字符型常量字符型常量在习惯上称为“字符串”,由中英文字母、ASCII码、各种符号、空格和数字组成。

字符型常量的表示方法是用半角单引号、双引号和方括号将字符串话起来。

定界符必须成对出现,即前后定界符一致。

注意:不含任何字符的空串(””)和包含空格的字符串(’’)是不一样的。

空串里边没有任何内容。

而空格在计算机中占一定的存储空间。

正确的字符常量:’学生’“中国” [桌子]错误的字符常量:”北京注意:如果某一定界符本身也是字符串内容的一部份,则需用另外一种定界符为该字符串定界。

例如:[祖国的’花朵’]C、日期型常量日期型常量的定界符是一对花括号{}。

传统日常格式 mm/dd/yy严格日期格式 {^yyyy-mm-dd}D、日期时间型常量表示具体的日期及时间的常量。

E、逻辑型常量用来表示逻辑真和逻辑假的常量。

逻辑型常量只有真(TRUE)和假(FALSE)F、货币型常量用来表示货币值的常量2、变量VF中变量分为字段变量、内存变量、系统变量。

A、字段变量字段变量就是我们所说的表中的字段B、内存变量内存变量是内存中的一个存储区域,变量值就是存放在这个区域里的数据。

内存变量有6种数据类型:字符型(C),数值型(N),货币型(Y),逻辑型(L),日期型(D)日期时间型(T)。

例如:A=123,其中A表示一个数值型变量,123是变量值B={^2006-8-1},其中B表示一个日期型变量,{^2006-8-1}是变量值C=“中国”,其中C表示一个字符型变量,“中国”是变量值3、内存变量的常用命令A、内存变量的赋值格式1:STORE<表达式>TO<内存变量名表>格式2:<内存变量名>=<表达式>注意:等号一次只能给一个变量赋值。

STORE命令可以同时给若干个变量赋予相同的值,各内存变量名之间用半角逗号分开。

在VF中,一个变量在使用之前并不需要特别的声明或定义。

当用STORE命令给变量赋值时,如果该变量并不存在,那么系统会自动建立。

可以通过对内存变量重新赋值来改变其内容和类型例如:STORE 20 TO M,N 创建变量M,N数据类型为数值型,值为20学号=“SY0111”创建变量“学号”,数据类型为字符型,值为“SY0111”B、内存变量的显示格式1:?<表达式>格式2:??<表达式>格式1与格式2的区别就是格式1多输出一个换行符注意:VF命令中的通配符包括“*”和“?”,“*”表示多个字符,“?”表示一个字符4、表达式用来表示某个求值规则,由常量、变量、函数用运算符连接起来的特定式子1)数据表达式结果类型:数值型数值运算的优先级及含义2)字符表达式结果类型:字符型例如:A=“HELLO空格空格”B=“KITTY!空格空格”? A+B,A-B结果:HELLO空格空格KITTY空格空格 HELLOKITTY空格空格空格空格3)日期时间运算符和日期时间表达式日期型数据是比较特殊的数据类型,只能进行+和-运算。

此外,在格式上还有严格的限制,一些合法的组合如下:4)关系表达式结果类型:逻辑型注意:$和==仅可用于字符型数据,其他运算符用于任何数据;子串包含:<子符串表达式>$<字符串表达式2> 如果前者是后者的一个子串,结果为真,否则为假例如:”教育学”$”高等教育学”运算结果为真5)逻辑运算符和逻辑表达式逻辑运算符有3个,分别是AND、OR、NOT,优先级顺序为NOT、AND、OR。

逻辑运算符的操作数是逻辑型数据,运算的结果也是逻辑型数据6)运算符的优先级字符、日期和时间以及算术运算符优先于关系运算符,关系运算符优先于逻辑运算符另外:圆括号的优先级最高相同优先级的运算符按从左到右的顺序进行运算字符串连接运算符和算术加、减运算符的优先级一样5、函数函数运算后会有一个值,称为函数值。

根据函数返回值的类型可以分为数值函数、字符函数、日期时间函数、类型转换函数和测试函数等。

A、数值函数⑴绝对值函数ABS(<数值表达式>)ABS()返回数值表达式的绝对值例如:?ABS(-9)结果为:9⑵求值函数INT(<数值表达式>)INT()返回给定数值表达式的整数部分⑶求余函数MOD(<数值表达式1>,<数值表达式2>)返回两个数值相除后的余数。

<数值表达式1>是被除数,<数值表达式2>是除数,该函数与求余运算符(%)的作用相同例如:?MOD(23,5),MOD(23,-5),MOD(-23,5),MOD(-23,-5)输出结果为:3 -2 2 -3注意:对于MOD,其运算结果的正负与除数一致⑷求最大值、最小值函数MAX(<数值表达式1>,<数值表达式2>)MIN(<数值表达式1>,<数值表达式2>)例如:?MAX(2,4,7,-9)结果为:7B、字符函数①求字符串长度的函数LEN(<字符表达式>)返回指定字符表达式的长度,即所包含的字节数,一个汉字占两个字节,其它的字符占一个字节,返回值为数据型例如:X=“图书公司”?LEN(X)输出结果为:8②取子串函数SUBSTR(<字符表达式>,<起始位置>[,<长度>])SUBSTR()从给定字符串的指定位置开始取指定长度的子串。

若省略<长度>则从指定的起始位置开始一直取到最后一个字符。

函数值为字符型。

③与空格有关的函数ALLTRIM(<字符表达式>)返回给定表达式已经去掉前导和尾部空格的子符串C、日期时间函数①获取系统日期和时间函数DATE()返回系统当前日期,函数值为日期型TIME()返回系统当前时间,函数值为字符型DATETIME()返回系统当时的日期和时间,函数值为日期时间型②年份、月份和天数函数YEAR(<日期表达式>|<日期时间表达式>)MONTH(<日期表达式>|<日期时间表达式>)DAY(<日期表达式>|<日期时间表达式>)YEAR()从指定的日期表达式或日期时间表达式中抽出年份,函数值为数值型MONTH()从指定的日期表达式或日期时间表达式中抽出月份,函数值为数值型DAY()从指定的日期表达式或日期时间表达式中抽出日,函数值为数值型例如:M={^2005-12-25}?YEAR(M),MONTH(M),DAY(M)输出结果为:2005 12 25D、数据类型转换函数①字符型转换数据型函数格式:VAL(<字表表达式>)功能:将数字字符(含有正负号和小数点)组成的字符串转换成数值。

说明:1、如果<字符表达式>首字符不是数字字符,则返回02、如果<字符表达式>中含有非数字字符,是只转换前面的部分。

例如:?VAL(”3.14”),VAL(“-3.14”),val(“pi3.14”), val(“3.14pi”)输出结果为:3.14 –3.14 0.00 3.14②数值型转换字符型函数STR(<数值表达式>[<长度>[,小数位数]])功能:将指定的数值表达式转换成字符串说明:<长度>是转换后的字符串的长度,默认值为10。

<小数位数>是保留的小数位数,并进行四舍五入,默认值为0。

如果<长度>小于<数值表达式>的整数部分,则返回若干个星号(*)例如:?str(255.67),str(255.67,6,1),str(255.67,2)输出结果为:256 255.7 **③字符型转日期型或日期时间型函数CTOD(<字符表达式>)功能:将日期形式的<字符串>转换成日期型例如:?x=ctod(“2005/05/16”) set century on-设置是否显示世纪结果为:05/05/16DTOC(<日期表达式>[,1])功能:将日期型数据转换成字符串说明:如果选用1,则字符串的格式为YYYYMMDD,一共八个字符例如: store date() to m?M输出结果为:2009/02/08继续输入?dtoc(m),dtoc(m,1)输出结果为:2009/02/08 20090208DTOS(<日期表达式>)功能:从指定日期或日期时间表达式中返回 yyyymmdd 格式的字符串日期。

例如:?dtos({02/12/08}) set date to YMD set mark to “.”结果为:20021208E、测试函数格式:BOF(<工作区号>|<别名>)格式:EOF(<工作区号>|别名)功能:BOF函数测试当前文件(缺省自变量时)或指定表文件中记录指针是否指向文件首,若是则返回真,否则返回假。