《数据库程序设计》第三章.ppt

上传人:w****2 文档编号:16567339 上传时间:2020-10-13 格式:PPT 页数:32 大小:277KB
返回 下载 相关 举报
《数据库程序设计》第三章.ppt_第1页
第1页 / 共32页
《数据库程序设计》第三章.ppt_第2页
第2页 / 共32页
《数据库程序设计》第三章.ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
第三章 数据及其运算 第三章 数据及其运算 3.1 数据类型 3.2 数据存储 3.3 内部函数 3.4 表达式 3.1 数据类型 3.1 数据类型 字符型 (C型 ) 数值型 (N型 ) 逻辑型 (L型 ) 日期型 (D型 ) 备注型 (M型 ) 通用型 (G型 ) 数值型 浮点型 货币型 双精度型 整型 日期型 日期时间型 3.2 数据存储 数据存储容器:常量、变量、数组、字段、 记录和对象。 ( 1)常量 值固定不变的量 数值型 常量 : 由数字 (0-9)、小数点和正负号组成 浮点型 常量 : 数值型的科学计数法表示 字符型 常量 : 用双引号、单引号或方括号等括起来 逻辑型 常量 : 只有真和假两种逻辑值 日期型常量和日期时间型常量 : 用花括号括起 来,日期各部分之间用 /或 -分开,时间各部分之间用 :分开, 日期和时间之间用空格分开 3.2 数据存储 介绍一个命令: 格式:? |? 功能:计算表达式的值,并将其显示在工作区 说明: ?表示另起一行输出值 ?表示从当前位置输出值 若有多个表达式,各表达式值之间用逗号分 开,输出时遇到逗号就空一格 3.2 数据存储 日期常量的格式 是可以变化的,使用如下 几个 set命令: Set mark To 日期分隔符 功能:确定日期数据的分隔符号 Set Century On/Off 功能:确定是否显示年份的前 2位 Set Date to Mdy/Ymd/dmy 功能:确定日期数据的指定格式 3.2 数据存储 ( 2)内存变量 变量有值和名,值是变量的内容,名是唯一 标识变量的。 变量 命名规则 :以字母(汉字)、数字、下 划线组成,不超过 128个字符,且不可与系统 保留字( eg: use quit close等)重名。 读 取变量的 值的命令是? 命令 将值存入变量的命令也称赋值命令 3.2 数据存储 赋值命令 格式 1: = 格式 2: store to 功能:计算表达式的值,将值赋给内存变量 说明: s=VFP &将字符串赋给变 &量 s,结果使 s值 &为 ” VFP”,并成 为 &字符型变量 store 2*4 to s1,s2 &计算 2*4的值为 8,将 8赋 &给变量 s1、 s2,结果两 &个变量值均为 8并成为数 &值型变量 a、命令后的 &表示其后为注释部分, 不参与命令的执行。 b、内存变量在赋值时定义了值和类型, 变量的类型是由值的类型确定的。 c、 store命令可以同时为多个变量赋值, 而等号只可以为一个变量赋值。 d、若内存变量与字段同名,则内存变 量前要加上 “ m.”或 “ m-”以示区别。 3.2 数据存储 内存变量的清除命令 : 格式: release All like | except 功能:从内存中清除指定的内存变量 Release a,b &清除内存变量 a, b Release all &清除用户定义的所有内存变量 Release all like a* &清除所有用户定义的首字 &母为 a的内存变量 Release all except ?b* &清除所有用户定义的第二 &个字符为 b以外的内存变量 3.2 数据存储 ( 3)数组变量 定义数组 的命令: 格式: dimension | declare ( , ) ,( , ) 功能:定义数组名称及上界,即确定数组的维数和元 素个数。 注意 : VFP中只可以定义一维和二维的数组,且定义大 小时要考虑内存空间是否够用。 数组在定义时默认初 始值为 .f. 数组的赋值 : 可以使用变量的赋值命令为单个数组元素赋值, 也可以为所有数组元素赋相同的值。 3.2 数据存储 ( 4)字段变量 表中的每个字段都是字段变量,值为当前 记录该字段的值。 介绍一个命令 go 格式: go 功能:设定当前记录为第 条记录。 3.2 数据存储 ( 5)记录 记录是数据表中一组数据项的集合 -即表中的 一行。 在同一个数据表中可以有若干个记录,每一 个记录具有相同的字段个数。 ( 6)对象 对象是类的实体 ,是任何具有属性和方法的信息 的集合。 (有关对象的详细内容将在以后详细介绍。 ) 3.3 内部函数 数值类函数 字符类函数 数据转换类函数 日期和时间类函数 测试类函数 其他函数 3.3 内部函数 数值函数 1 函数 功能 例子(注释表示结果) EXP(n) 计算 e的 n次方的值 ?exp(2) & 7.39 INT(n) 计算 n的整数部分 ?int(2.83) & 2 ?int(-2.83) & -2 ?int(0) & 0 ?int(-0.83) & 0 LOG(n) 计算 lnn的值 ?log(7.39) & 2.00 LOG10(n) 计算 log10n的值 ?log10(100) & 2.00 MAX(n1,n2, ) 求 n1,n2, 中最大的值 ?max(2,-5,3.3) & 3.3 MIN(n1,n2, ) 求 n1,n2, 中最小的值 ?min(2,-5,3.3) & -5 3.3 内部函数 MOD(n1,n2) 求 n1/n2后的余数 ?mod(8.7,2) & 0.7 ?mod(-8.7,2) & 1.3 ?mod(-8.7,-2) & -0.7 ?mod(8.7,-2) & -1.3 ROUND(n1, n2) 对 n1四舍五入,保留小数点 后 n2位 ?round(3.14159,2) & 3.14 SING(n) 返回 n的符号, n为正,返回 1; 为负,返回 -1;为 0,返回 0 ?sing(2.5) & 1 ?sing(-2.5) & -1 ?sin(0) & 0 SQRT(n) 求 n的平方根 ?sqrt(25) & 5.00 ABS(n) 求 n的绝对值 ?abs(3.2) & 3.2 ?abs(-3.2) & 3.2 ?abs(0) & 0 数值函数 2 3.3 内部函数 字符函数 1 函数 功能 例子(注释表示结果) Len(c) 返回字符表达式 c中字符的个数 ?len(abc) &3 ?len( abc) &4 Lower(c) 将 c中所有字符小写 ?lower(aBc9) &abc9 Upper(c) 将 c中所有字符大写 ?upper(aBc9) &ABC9 Left(c,n) 从 c的最左侧开始,返回 n个字符 ?left(aBc9,2) &aB Right(c,n) 从 c的最右侧开始,返回 n个字符 ?right(aBc9,2) &c9 Substr(c,n1,n2) 从 c的左数第 n1个字符开始,返回 n2个字符 ?substr(aBc9,2,2) &Bc 3.3 内部函数 Alltrim(c) 去掉 c中前后两端的空格 ?alltrim( aB c9 ) &aB c9 Ltrim(c) 去掉 c中左侧的空格 ?ltrim( aB c9 ) &aB c9 Rtrim(c) 去掉 c中右侧的空格 ? rtrim( aB c9 ) & aB c9 Trim(c) 去掉 c中右侧的空格 ?trim( aB c9 ) & aB c9 Space(n) 输出 n个空格 ?space(5) & Like(c1,c2) 确定 c1是否包含 c2内容, 即 c2是否满足 c1的特征 注意 c1中可以使用通配符 *和? 本函数不是询问 c2是否 c1子串 ?like(bc,aabc) &.F. ?like(aabc,bc) &.F. ?like(*bc*,aabc) &.T. 字符函数 2 3.3 内部函数 转换函数 函数 功能 例子(注释表示结果) Ctod(c) 将字符串 c转换成日期 ?ctod(09/11/07) &09/11/07 ?ctod(09/11/2007) &09/11/07 ?ctod(07) & / / Dtoc(d) 将日期表达式 d转换成字符串 ?dtoc(2007/9/11) &09/11/07 Str(n1,n2,n3) 将数值 n1转换成字符串, n2表示 字符串的宽度, n3表示小数 位数 ?str(3.14159,4,2) &3.14 ?str(3.14159,6,2) & 3.14 ?str(3.14,6,3) & 3.140 ?str(3.14,3,3) &3.1 Ttoc(t) 将日期时间表达式 d转换成字符 串 ?ttoc(2007/9/11 12:25:50) &09/11/07 12:25:50 PM Ttod(t) 将日期时间表达式 d转换成日期 ?ttod(2007/9/11 12:25:50) &09/11/07 Val(c) 将字符串 c转换成数值 ?val(3.14) &3.14 Chr(n) 返回 ASCII码为 n的字符 ?chr(65) &A Asc(c) 返回字符 c的 ASCII码 ?asc(a) &97 3.3 内部函数 日期时间函数 函数 功能 例子(注释表示结果) Date() 返回系统当前日期 Time() 返回系统当前时间 Datetime() 返回系统当前的日期和时间 Year(t) 返回 t中的年份值 ?year(2007/9/11 12:25:50) &2007 Month(t) 返回 t中的月份值 ?month(2007/9/11 12:25:50) &9 Day(t) 返回 t中的日期值 ?day(2007/9/11 12:25:50) &11 Minute(t) 返回 t中的分钟值 ?minute(2007/9/11 12:25:50) &25 Sec(t) 返回 t中的秒值 ?sec(2007/9/11 12:25:50) &50 Week(t) 返回 t是一年中的第几个星 期 ?week(2007/9/11 12:25:50) &37 Dow(t) 从日期时间表达式 t中返回 表示星期几的数值 注意, 1表示星期日 ?dow(2007/9/11 12:25:50) &3 3.3 内部函数 测试函数 函数 功能 例子(注释表示结果) Bof() 测试记录指针是否在文件开始处 (不是第一条记录)返回逻辑值 Deleted() 测试当前记录是否加删除标记 返回逻辑值 Eof() 测试记录指针是否在文件尾部 (不是最后一条记录)返回逻辑值 Isnull() 测试表达式的值是否为空 , 返回逻辑值 Primary() 测试并返回指定的索引是否为主索引 标识 ,返回逻辑值 Recno() 测试当前记录指针号 返回数值 Found() 使用 seek等查询命令后使用本函数,看 是否查到,返回逻辑值 Type() 测试当前表达式的数据类型 ?type(2007/9/11) &D ?type(123) &N File(c) 测试字符串 c表示的文件是否存在 ?file(labels) &.F. ?file(labels.dbf) &.T. 3.3 内部函数 其他函数 messagebox(, , ) 功能:弹出消息提示对话框。 其中框类型是数值,为以下三部分的和。 1、确定按钮的参数: 0 、 1、 2、 3、 4、 5 2、确定图标的参数: 16、 32、 48、 64 3、确定默认按钮的参数: 0、 256、 512 ? messagebox(是否继续 ? ,34,询问框 ) ? messagebox(是否继续 ? ,3,询问框 ) 参数 对话框 按钮 0 仅有 “ 确定 ” 按钮 1 “确定 ”“ 取消 ” 2 “终止 ”“ 重 试 ”“ 忽略 ” 3 “是 ”“ 否 ”“ 取消 ” 4 “是 ”“ 否 ” 5 “重试 ”“ 取消 ” 图标 16 32 48 64 默认 按钮 0 第一个按钮 256 第二个按钮 512 第三个按钮 按下按钮 返回值 确定 1 取消 2 终止 3 重试 4 忽略 5 是 6 否 7 3.4 表达式 表达式是由数据、数据存储容器、函数和 运算符组成的运算式。 算术表达式 字符表达式 日期时间表达式 关系表达式 逻辑表达式 名表达式 3.4 表达式 算术表达式 常见的算术运算符: 说明: ( 1)操作数是数值,运 算结果也是数值 ( 2)运算顺序:先乘方, 再乘除和取模,后加减。 同级别的自左向右运算。 有圆括号的先算括号内 的,多重圆括号的按先 内后外的顺序运算。 运算符 功能 * 幂 * / 乘除 % 模(取余) + - 加减 ?32 &结果为 9 ?14%4 &结果为 2 ?14%-4 &结果为 -2 3.4 表达式 字符表达式 常见的字符运算符: 运算符 功能 + 字符串连接 - 删除尾部空格后连接 $ 比较,查看前一字符 串是否在后一字符 串内 ?abc +de &abc de ?abc - de &abc de ?abc - de+f &abc de f ?ab$abc &.T. ?abc$ab &.F. 3.4 表达式 日期时间表达式 常见运算符: 运算符 功能 + 加上天数 - 减去天数或日期 ?2007/9/10+5 &09/15/07 ?2007/9/10-5 &09/05/07 ?2007/9/10 10:05:30+5 &09/10/07 10:05:35 ?2007/9/10 10:05:30-5 &09/10/07 10:05:25 ?2007/9/10-2006/9/10 &365 ?2007/9/10 10:05:30-2007/9/9 10:05:30 &86400 3.4 表达式 关系表达式 常见运算符 说明: ( 1)运算符两端操作数类 型必须一致,运算结果是 逻辑值 ( 2) 数值型按大小比较; 日期型按年月日的先后比较, 后大先小 ; 英文字符型按对应位置上的 ASCII码 比较; 中文按 拼音 声母顺序比较。 运算符 功能 大于 = 大于等于 = 等于 # != 不等于 = 全等于 3.4 表达式 ?632006/9/10 &.T. ?ABCAAAA &.T. ?大专 =大学 &.T. ?2*4=8 &.T. ?2*4=8 &.T. ?ABC=AB &.T. ?ABC=AB &.F. ?.T.F. &.T. 3.4 表达式 逻辑表达式 常见运算符 说明: ( 1)操作数是逻辑值,运算结果也是逻辑值。 ( 2)优先级:先 not,再 and,最后 or。 运算符 功能 and 与。两端都为真结果才为真 or 或。两端有一端为真,结果就为真 not 非。非真即假,非假即真 ? .T.and .T. & .T. ? .T.and .F. & .F. ? .F.and .T. & .F. ? .F.and .F. & .F. ? .T.or .T. & .T. ? .T.or .F. & .T. ? .F.or .T. & .T. ? .F.or .F. & .F. ? not .T. & .F. ? not .F. & .T. 3.4 表达式 各类运算符之间的优先关系是: 算术 字符 日期 关系 逻辑 3.4 表达式 名表达式 Eg:姓名 =“李明华 ” Store “姓名 ” to name ? name+“: ” +姓名 &输出:姓名:李明华 宏替换方式读取 “ 名 ” 的内容: Eg:姓名 =“李明华 ” Store “姓名 ” to name ? &name &输出:李明华
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!