《程序设计理论02函数与数据表建立.ppt》由会员分享,可在线阅读,更多相关《程序设计理论02函数与数据表建立.ppt(53页珍藏版)》请在三一办公上搜索。
1、本次教学内容与要求,1.掌握系统函数的描述格式2.熟悉常用函数的使用3.熟悉命令的格式与常用文件的类型4.掌握数据表结构的建立重点:系统函数的描述格式、常用函数的使用、数据表结构的建立。难点:宏替换函数的使用。,函数:就是预先编好的具有某种操作功能的程序。,函数有其自变量及其对应的函数返回值。,函数有两类:标准函数,自定义函数,函数三要素:函数名,参数表,函数值,调用函数的格式:函数名(参数表),对于某些没有参数的函数,圆括号内为空,例如日期函数DATE()。,函数名称要正确,类型要匹配,个数,功能,返回值及其类型,当函数带有多个参数时,参数和参数之间用逗号分隔。如:max(1,2,3),函数
2、作为数据元素的一种,可以和其他数据元素进行操作运算。,DATE()+5,a=5b=3sin(a)*alog10(b),3.3.1 数学运算函数,(1)四舍五入函数 格式:ROUND(,)功能:对的值进行四舍五入运算,小数由来指定位数。例如:round(0.45926,3)0.459,2.大于或等于0时,保留指定的小数位数。3.小于0时,其绝对值表示整数部分四舍五入的位数。例:round(1235.78,0)1236 round(1235.78,-1)1240,1.指定保留的小数位数。,(2)求余数函数格式:MOD(,)功能:求除以的余数且的值不为0。说明:函数值返回的正负号与除数相同,,?mo
3、d(15,4)?mod(-15,-4),?mod(-15,4)?mod(15,-4),当除数与被除数同号,计算abs(被除数)/abs(除数),再将结果符号调成与除数相同,(3)最大值函数格式:MAX(参数表)注:1.参数表中最少含有两个参数,否则系统会提示参数太少;2.此函数参数表中的数据类型可以是N、C、Y、D、T、L,也可以是表达式,例如:?max(ab,12),.T.,?max(中国,人民,abc),3.3.2 字符处理函数,(1)子字符串位置测试函数格式:AT(,n)功能:求在中第n次的起始位置,函数返回值为数值型。缺省n时,默认为求第一次出现的起始位置。,例:?AT(AB,CRBA
4、BBAGE)4(注意:子串所有字符作为一个整体看待),?AT(大学,清华大学是一所著名大学),?AT(大学,清华大学是一所著名大学,2),?AT(大学,清华大学是一所著名大学,3),注:不存在时返回零值。,(2)字符长度测试函数,格式:LEN()功能:返回 中所包含的字符个数。例1:?LEN(abc)3,例2:aa=广东+医?LEN(aa),例3:dd=?LEN(dd+),?LEN(dd+广东)4,0,例4:dd=中国_奥运*表示空格?LEN(dd),11,A=清华大学?SUBSTR(A,1,4)清华?SUBSTR(A,5)大学,(3)取子字符串函数,SUBSTR(,),说明:如果省略,截取的
5、字符串将从给出的位置一直到该字符表达式的结尾。,(4)取左子串函数,格式:LEFT(,)功能:返回从左起第一至第N个字符.例:?LEFT(广东医学院,4)广东,?LEFT(广东医学院,5),广东,(5)删除字符串两端空格函数,格式:ALLTRIM()功能:删除左右两端空格。例1:?ALLT(广东医)广东医注:表示空格。,格式:SPACE()例?“清华”+SPACE(4)+“大学”,(7)生成空格函数,1234,结果为:清华 大学,字符串转换成大写字母函数 格式:UPPER()例?UPPER(”VisualFoxPro)结果为:VISUALFOXPRO,字符串转换成小写字母函数格式:LOWER(
6、)例?LOWER(”VisualFoxPro)结果为:visualfoxpro,(8)宏替换函数格式:&.功能:以字符型内存变量的值作为函数值,即将字符型内存变量的定界符去掉,仅将其内容作为函数返回值。,a=123+456?a,?&a,p1=abcq=1r=p&q?r?&r,格式:DATE()功能:返回当前系统日期及格式。,3.3.3 日期时间函数,问题:作了SET STRICTDATE TO 0 设置,为什么?01/08/2007无显示?,解:借助?DATE()了解系统的日期格式,然后按该格式的年月日顺序输入。,3.3.4 数据类型转换函数,(1)数值型转换为字符型函数格式:STR(,)功能
7、:将的值转换成字符型数据,默认字符串长度为10。,例 X=12345.6789?STR(X,8,2)&结果为 12345.68,?STR(X),?STR(X,3),&结果为 12346(带5个前导空格),&结果为*,问题:?str(-123.56,10,3),说明:1.转换时自动进行四舍五入,小数点和负号均计做一位。,2.如果值大于转换后的字符串长度,则自动在转换后的字符串前加前导空格以满足规定的要求。例 X=12345.6789?STR(X)&结果是:12346(带5个前导空格),3.如果值小于值的整数部分的位数(包括负号),则返回一串星号(*),表示溢出(即“错了”)。例 X=12345.
8、6789?STR(X,3)&结果为*,(2)字符型转换成数值型函数格式:VAL()默认保留两位小数?VAL(l2345.678)12345.68?VAL(123S45.6789)123.00?VAL(1+2)1.00?VAL(12.3e-1)1.23?VAL(e+1)0.00?VAL(广12345.6789)0.00,(3)字符型转换成日期型函数格式:CTOD()例:SET DATE TO MDY?CTOD(0720/02),说明:能且只能由数字与分隔符组成,数字的分组与顺序必须要和SET DATE TO 命令设置的格式一致。,072002,(4)日期型转换成字符型函数 格式:DTOC(|,1
9、)例 X=CTOD(072002)&假设当前日期格式为月日年形式?DTOC(X)&结果为 07/20/02?DTOC(X,1)&结果为 20020720说明:若有,1选项,按年月日格式输出字符。,3.3.5 测试函数,数据类型测试函数 格式:TYPE()定界符还可用功能:返回表达式的数据类型例:?type(abc)C?type(23)L?type(12/2/2004)D?type(12/2/2004)?type(123+123),N,U(未知类型),3.4 命令格式,3.4.1命令结构 所有命令都以命令动词开头,表示要执行的命令功能。FOR条件 WHILE 条件FILEDS注:尖括号内的表必有
10、部分,方括号表可选部分,真正用时均不键入。,3.4.1命令结构 命令最多四部分。范围选择共四种。FOR WHILE同写只执行WHILE。稍后再谈FIELDS短语。3.4.2命令书写规则 务必自学!,第四章 数据表基本操作,4.1 数据表的建立 数据表结构的建立 数据表数据的录入4.2 数据表操作命令4.3 排序与索引4.4 查询与统计4.5数据表间的操作,例如:一张表由四列组成,希望填表的人在第一列填姓名,第二列填分数,第三列性别,第四列填出生日期。表头该如何设计?易想到如下:,34,怎么定义字段名的宽度与类型呢?,4.1.1 表结构的建立与修改,数据表文件的结构由字段组成,即表结构的设计与建
11、立就是定义表中各个字段的属性。字段三要素:字段名,类型,长度(1)字段名:字段名必须以字母或汉字开头,由字母、汉字、数字或下划线组成,不能包含空格。自由表字段名长度至多10个字符,数据库表最多128个。,(2)字段类型:字段的数据类型决定了存储在字段中的值的数据类型,共有13种。初学者除了熟悉与内存变量相同的六种类型外,还要熟悉另外的两种,分别是备注型(M)与通用型(G)。,备注型数据(M)的长度固定为4个字节存放指针,指向与数据表同名而扩展名为.FPT的表备注文件内的一个信息块。该数据可以编辑、显示、打印,但不能进行任何形式的运算。字符型数据的长度大于254时应采用备注型字段。,通用型数据(
12、G)存储各种OLE对象,可以是各种文档,例如图形、图像、音频和视频等媒体文件。固定长度4个字节,用来存放指针。指向扩展名为.FPT的表备注文件。FPT文件是独立于数据表文件而存储在磁盘上,一个数据表对于的表备注文件只有一个。,(3)字段长度:字符型,数值型字段在给定长度范围内可自己定义长度;逻辑型字段长度为1个字节;日期型、日期时间型、货币型、双精度数据型字段长度为8个字节;备注型、通用型、整数型以及二进制备注型字段宽度为4个字节;,【注意】(1)一个表的总字段不得超过128个,且总长度不超过4000个字节。(2)字段变量是多值变量,并且必须先定义后赋值,然后才可以使用。(3)设计表结构时,可
13、指定某个字段是否接受空值,见书P54。(4)命令形式:create,演示,问题1:如果我发现字段变量定义错了,或者我想增加一个字段应该怎么办呢?,表结构的修改(1)以独占方式打开表;use exclusive(2)选择“显示”菜单的“表设计器”,即可进行修改。modify structure,如果我想要在某一个字段前面增加一个新的字段怎么办呢?,4.1.2 表记录数据的输入,备注型数据输入:双击memo或Ctrl+PgDn,完成后直接单击关闭或Ctrl+W可直接关闭窗口保存,此时memo变成Memo;ESC或Ctrl+Q放弃修改。通用型数据输入:同上打开后,选择“编辑”菜单的“插入对象”命令进
14、行内容的输入。,问题1:如果表已经关掉了,却发现内容输入错了,我想要修改记录;或者想要继续输入记录怎么办呢?,表数据的维护1.表数据的浏览与编辑(1)打开表;use(2)浏览 browse(3)编辑:edit|change,表数据的维护2.表数据的追加 在浏览窗口打开的情况下,选择“显示”菜单的“追加方式”命令或“表”菜单中的“追加新纪录”命令。区别:前者可连续增加记录,后者每次只能增加一条记录。,往表中输入记录,顺序执行两命令:首先执行:USE 然后执行:EDIT|GHANG|BROW 注:BROW的风格与日常表格相似追加新纪录:按CTRL+Y(牢记)往备注字段中填数据:先按CTRL+PageUp,表记录的删除:两种删除效果,参见课本P58.,