VisualFoxPro数据库管理系统概述.ppt

上传人:sh****n 文档编号:6561660 上传时间:2020-02-29 格式:PPT 页数:102 大小:1.82MB
返回 下载 相关 举报
VisualFoxPro数据库管理系统概述.ppt_第1页
第1页 / 共102页
VisualFoxPro数据库管理系统概述.ppt_第2页
第2页 / 共102页
VisualFoxPro数据库管理系统概述.ppt_第3页
第3页 / 共102页
点击查看更多>>
资源描述
2020年2月29日1时42分 1 第二章VisualFoxPro数据库管理系统概述 2020年2月29日1时42分 2 2 1VisualFoxPro的操作环境2 2VisualFoxPro文件类型2 3VisualFoxPro的项目管理及其操作2 4VisualFoxPro语言基础 2020年2月29日1时42分 3 VFP的特点数据库方面区分了数据库与数据表的概念Rushmore技术 速度快 多索引 SQL命令 高效检索 数据操作方面简单 灵活 多样的数据交换手段 VisualFoxPro 简称VFP 是基于Windows平台和服务器上的可视化数据库管理系统 2020年2月29日1时42分 4 程序设计方面 可视化应用程序 可视化 少量程序代码可靠性高调试简单项目编译面向对象 2020年2月29日1时42分 5 操作使用方面完善的IDE 菜单 工具条或快捷键 丰富的开发工具向导 表单向导设计器 表设计器生成器 表达式生成器管理器 项目管理器 2020年2月29日1时42分 6 2 1VisualFoxPro的操作环境 2 1 1VisualFoxPro操作界面 命令窗口 主窗口 用于输出结果 菜单栏 工具栏 状态栏 2020年2月29日1时42分 7 命令窗口是用来直接输入VisualFoxPro命令的用户接口 在命令窗口输入命令后 按回车键 立即执行输入命令 命令窗口命令执行结果显示 关闭命令窗口方法 按命令窗口右上角的 关闭 按钮可关闭命令窗口显示命令窗口方法 1 可选 窗口 菜单中 命令窗口 项2 使用常用工具栏上的命令窗口按钮3 使用快捷键Ctrl F2 命令窗口介绍 2020年2月29日1时42分 8 选择命令项右边的组合键 例如 Ctrl N Ctrl O Ctrl P等 是执行命令项的键盘操作快捷键 选择命令项右边有 符号的 表示选中此命令项时 会弹出相应对话框 选择命令项右边有 符号 的 表示选中此命令项时 会弹出相应级联菜单 菜单项介绍 2020年2月29日1时42分 9 单击主菜单的 显示 菜单 在下拉菜单中选择 工具栏 菜单项 弹出 工具栏 对话框 工具栏介绍 2020年2月29日1时42分 10 2 1 2命令说明 命令的语法格式说明删除文件的命令 其格式为 DELETEFILE fileName RECYCLE 在命令窗口和程序中都使用分号 实现换行输入 绝大多数命令中的关键字和函数名均可用前4个字符代替 2020年2月29日1时42分 11 说明filename表示要删除文件的路径及文件名 可选表示符号 方括号中的内容是可选项例如 DELETEFILEDELETEFILERECYCLE 二选一表示符号 要求用户从本符号的左右两项中选择一项例如 DELETEFILED aaa txtDELETEFILE 省略符号 它表示在一个命令或函数表达式中 某一部分可以按同一方式重复 DELETEFILE fileName RECYCLE 2020年2月29日1时42分 12 2 几个常用命令 与 命令 均引导注释内容 与 命令 均显示内容 二者区别CLEAR命令 清空主窗口屏幕内容 问命令窗口如何清空QUIT命令 关闭VFP窗口 改变命令窗口中的字体 格式 字体 改变主窗口的字体大小 screen fontsize 30 2020年2月29日1时42分 13 2 几个常用命令DIR命令 在VFP主窗口处显示文件的目录例如 DIRd txt 显示d盘中所有的txt文件MD RD CD命令 MD创建文件夹 RD删除文件夹 CD指定当前工作目录例如 MDd vfp 在d盘创建名为vfp的文件夹RDd vfp 删除d盘上的名为vfp的文件夹 2020年2月29日1时42分 14 COPYFILE RENAME DELETEFILE命令 拷贝 更名 删除文件例如 COPYFILEd txttoF 拷贝d盘txt文件到F盘RENAMEd txttod doc 将d盘txt文件改名为docDELETEFILE txt 删除所有txt文件RUN命令 调用DOS命令或Windows应用程序例如 RUN Ncalc 打开Windows计算器程序 2020年2月29日1时42分 15 3 补充 命令的输入和编辑输入命令 按下回车键 Enter键 命令被执行 得到结果 特别注意 请使用英文标点符号 若命令太长 长命令可用分号 续行 多行的长命令插入新行可用 Ctrl Enter 若想重复执行命令 则将光标移到以前命令行的任意位置 按Enter键重新执行此命令 1 2 3 4 5 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 105 15 2020年2月29日1时42分 16 2 1 3配置VisualFoxPro操作环境VisualFoxPro的配置决定了VisualFoxPro系统运行时的外观和行为 VisualFoxPro启动以后 还可以使用 选项 对话框 或SET命令进行附加的配置设定 2020年2月29日1时42分 17 2 1 3配置VisualFoxPro操作环境 选项对话框 2020年2月29日1时42分 18 2 1 3配置VisualFoxPro操作环境 Set命令例如 SetdefaulttoF 设置默认路径为F盘常用的Set命令如表2 1所示 书P34页 2 2VisualFoxPro文件类型 如表2 2所示 书P35页 常考需要熟记各个类型 例如 创建项目文件 生成 pjx与 pjt文件 2020年2月29日1时42分 19 2 3VisualFoxPro的项目管理及操作 选项卡 1 VisualFoxPro的项目是一个系统中文件 数据 文档等的集合 2 项目管理器是VisualFoxPro中处理数据和对象的主要组织工具 是系统 控制中心 按钮 2020年2月29日1时42分 20 创建项目方法一 CREATEPROJECT命令方法二 使用 文件 菜单的 新建 按钮方法三 使用常用工具栏上的 新建 按钮 2020年2月29日1时42分 21 打开项目 考试中用到 使用 文件 菜单的 打开 按钮 默认目录是vfp98立即利用cd命令修改默认目录 改头去尾按回车此时 再使用 文件 菜单的 打开 按钮 默认目录是 2020年2月29日1时42分 22 2 3VisualFoxPro的项目管理及操作 2 3 1页面全部数据 一个项目中的所有数据 数据库 自由表 查询 视图 文档 处理数据时所用的全部文档 表单 报表和标签 类 表单和程序中所用的类库和类代码 程序 API库和应用程序其他 菜单 文本文件和其他文件 如位图 图标等 2 3 2定制项目管理器演示图2 4演示图2 5演示图2 6 号 展开 号 折叠 2020年2月29日1时42分 23 2 3VisualFoxPro的项目管理及操作 2 3 3项目管理器的操作 演示 1 命令按钮 首先选定对象新建 创建一个新文件或对象添加 把现有文件添加到项目中修改 相应设计器移去 从项目中移去选定的文件或对象 从项目中还是存储器上 连编 连编一个项目或应用程序 可执行程序 运行 执行选定的查询 表单或程序浏览 在 浏览 窗口中打开选定的表或视图 当且仅当选定一张表或视图时可用关闭 关闭数据库 当且仅当选定一个数据库时可用打开 打开数据库 当且仅当选定一个数据库时可用预览 在打印预览方式下显示选定的报表或标签 2020年2月29日1时42分 24 2 3VisualFoxPro的项目管理及操作 2 3 3项目管理器的操作2 快捷菜单命令 右键选择包含与排除 带斜线的圆圈表示连编时将被排除 所有的包含文件在运行时都是只读的设置主文件 把选定的程序 表单 查询或菜单指定为主文件 该主文件在已编译的应用程序中作为主执行程序执行 即应用程序的入口程序 主程序文件用粗体表示 重命名编辑说明项目信息3 项目间共享文件一个文件可同时属于不同的项目方法 打开两项目 在包含该文件的 项目管理器 中选择该文件 然后拖动该文件到另一个项目容器中即可 2020年2月29日1时42分 25 2 4VisualFoxPro语言基础 2 4 1数据类型 P39 40 仅有于表的字段 数据类型是指数据对象的取值集合 以及对之可施行的运算集合 相同类型才可以运算 2020年2月29日1时42分 26 2 4 2常量与变量大多数程序设计语言允许使用常量 变量和数组来存储数据 VFP还可以使用记录和对象 1 名称命名规则 P41 名称中只能包含字母 下划线 数字和汉字名称开头只能是字母 下划线或汉字 不能是数字表的字段名 索引标识名最多只能是10个字符 其余名称长度可以是1 128个字符避免使用系统保留字 如Use Set Date 例如 判断下列名称的合法性cVar2xccnVar2sum of score2 xd aver gznum of renshunSum re avg sdset 2020年2月29日1时42分 27 2 常量 在整个操作过程中值保持不变 数值型常量 由数字 小数点和正负号构成 如 3 15 38 3 12E 28 3 12E 28 如 100 35 2104 货币型常量 数字前加美元符号 逻辑型常量 逻辑真和逻辑假 如真 T t Y y 假 F f N n 2020年2月29日1时42分 28 字符型常量 由字符串 定界符 括起来的一串字符定界符可以是单引号 双引号或方括号 不能用中文标点的单引号或双引号作为字符串的定界符定界符必须成对出现 不能出现 一头为单引号而另一头为双引号 等情况 2020年2月29日1时42分 29 如果某种定界符本身也是字符串的内容 则需要用另一种定界符表示字符串不包含任何字符的字符串 称为 空串 它与包含空格的字符串 不同字符串中的字母 其大小写不等价 如 苏 001 51109876 vfp abcd ef g 哈哈 笑 ABCDE 与 abcde 是不同的字符串 2020年2月29日1时42分 30 时间型和日期时间型常量 定界符是一对花括号 年月日之间用 或 或 或空格分隔 时分秒之间用 分隔 传统的日期格式的语法形式 mm dd yy hh mm ss am pm 严格的日期格式的语法形式 系统默认 yyyy mm dd hh mm ss am pm 如 2013 03 01 2013 03 018 12A 2020年2月29日1时42分 31 3 内存变量 在任何时候都可以发生变化 1 变量的创建内存变量不需要特别申明 在使用时可以使用STORE命令或 赋值运算符直接进行赋值 在赋值的同时 也完成了变量的创建 并且确定了该变量的数据类型以及目前变量的值 2020年2月29日1时42分 32 变量的创建 y 2 只能给一个变量赋值store 123 tox y z store将同一个值赋值给多个变量使用 格式1 STORE数据值TO变量名格式2 变量名 数据值 赋值号 2020年2月29日1时42分 33 例 cVar VFP Store1tonVar1 nVar2nVar1 cVarcVar nVar2 cVar 值为1 nVar1 值为vfp nVar2 值为1 2020年2月29日1时42分 34 2 控制变量访问 内存变量用于程序中 可以使用相应的命令指定变量的作用域 用LOCAL指定局部变量局部变量只能在当前程序中使用 当它们所属的程序运行结束后 局部变量被释放 例如 LOCALCX1 2020年2月29日1时42分 35 用PRIVATE指定私有 隐藏 变量PRIVATE可以把上层变量 调用程序中定义的变量 的值在当前程序中隐藏起来 用户在当前程序中可以正常使用和这些变量同名的变量 例如 PRIVATECX2 CX3 2020年2月29日1时42分 36 用PUBLIC指定全局变量全局变量在程序运行的全过程中 其值均不会丢失 在命令窗口中创建的任何变量被自动赋予全局变量 例如 PUBLICCX4 CX5 CX6 2020年2月29日1时42分 37 3 访问变量字段变量和内存变量 CNO 100 结论 如果表的字段变量和内存变量同名 则字段具有更高的优先权 可以在变量名前加m 前缀或m 来引用内存变量 CNO 100 CNO 显示CC112 字段变量的值 m CNO 显示100 内存变量的值 m CNO 显示100 内存变量的值 2020年2月29日1时42分 38 4 内存变量的保存与恢复 内存变量是系统在内存中设置的临时存储单元 当退出VFP时其数据自动丢失 若要保存其值 可用SAVETO命令将变量保存到文件中 命令格式如下 SAVETO内存变量文件名 ALLLIKE变量名通配符 ALLEXCEPT变量名通配符 其中 ALLLIKE子句指定需保存的变量 ALLEXCEPT子句指定不需保存的变量 缺省ALLLIKE或ALLEXCEPT子句时 表示保存当前所有的内存变量 2020年2月29日1时42分 39 内存变量文件的扩展名为 mem 例 SAVETOMvarALLLIKE Yan 第2 4个字符为 yan 的所有变量保存到mvar内存变量文件中RESTOREFROM命令可将保存到文件中的变量恢复到内存 RESTOREFROM内存变量文件名 ADDITIVE 其中 ADDITIVE子句将文件中的内存变量追加到当前内存中来 否则 当前内存变量被清除 2020年2月29日1时42分 40 4 数组数组是变量的有序集合 占用连续的存储单元 按行存放 组成数组的变量称为数组元素 也叫做下标变量 数组可以是一维数组 也可以是二维数组 一个数组中的数组元素可以是不同的数据类型 1 数组的声明数组在使用前须预先声明 定义 DIMENSION DECLARE PUBLIC LOCAL数组名 行数 列数 2020年2月29日1时42分 41 注意 1 数组在声明之后 每个数组元素的默认值均为逻辑值 F 数据类型为L 2 用一个语句可为所有的数组元素赋相同的值 2020年2月29日1时42分 42 例2 dimeY 3 表示定义了一个一维的数组Y 包含3个元素分别为 Y 1 Y 2 Y 3 Y 1 123Y 2 电脑 Y 3 Z Y Z Y 3 没有赋值 则值为 F 将Y 1 的值给变量Z 123 123 电脑 2020年2月29日1时42分 43 例3 请写出下列命令输出的结果dimey 2 3 y 1 1 12 y 1 2 y 1 3 store0toy 1 3 y 2 1 y 2 2 y 1 2 y 6 123 F 二维数组可用一维形式使用 Y 2 3 2020年2月29日1时42分 44 4 数组为数组元素赋值 可以使用SCATTER GATHER COPYTOARRAY APPENDFROMARRAY等命令在数组元素与表记录之间传递值 5 字段变量 第3章介绍 2020年2月29日1时42分 45 6 对象 类的实例类 对于拥有数据和一定行为特征的对象集合的描述VisualFoxPro对象可以是表单 表单集或控件7 不同数据存储容器的作用域 如表2 4所示 书P46 2020年2月29日1时42分 46 存储数据的作用域 P46 2020年2月29日1时42分 47 练习 1 字符型常量也称为字符串 它是由字符串 定界符 括起来的一串字符 字符串定界符可以是单引号 双引号或 2 以下符号中 属于VFP常量的是 A T B DATEC EOFD VFP6 0 3 VFP中可以用命令给多个变量赋同一个值 方括号 A STORE 2020年2月29日1时42分 48 练习 4 下列字符型常量的表示中 错误的是 A 品牌 B 5 3 C x y D 计算机 5 以下正确的赋值语句是 A A1 A2 A3 10B SET10TOA1 A2 A3C LOCAL10TOA1 A2 A3D STORE10TOA1 A2 A3 2020年2月29日1时42分 49 2 4 3VisualFoxPro系统函数函数 是一种预先编制好的程序代码 可供用户或程序调用 函数包含一对圆括号以便与命令相区别 函数分为2大类 系统函数和用户自定义的函数语法规则 函数 参数1 参数2 函数的三要素 功能与名称 自变量的类型 个数 位置 函数的值及值的类型 注意每个函数的作用 返回值 2020年2月29日1时42分 50 1 数值函数 用于处理数值型数据 其返回值也为数值型数据 1 求绝对值 ABS 数值表达式 例 ABS 5 6 5 Store40tonum1Store2tonum2 ABS num2 num1 显示0 60 显示38 2020年2月29日1时42分 51 2 求最大值 MAX 表达式1 表达式2 例 MAX 45 2 22 22 MAX a b MAX 2003 11 11 2002 5 6 MAX T F 显示22 显示b 显示11 11 03 显示 T 3 求最小值 MIN 表达式1 表达式2 例 MIN 45 2 22 22 Store40tonum1Store2tonum2 MIN num2 num1 39 显示 45 显示 38 2020年2月29日1时42分 52 4 取整 INT 数值表达式 例 INT 12 5 INT 6 8 INT 9 6 0 5 显示12 显示 6 显示9 2020年2月29日1时42分 53 5 模运算求余数 Mod a1 a2 函数功能 用a1的值去除a2的值 返回余数 函数值 余数 的符号与A2相同 当a1与a2符号相同时 函数值为二者的余数 当a1与a2符号不相同时 函数值为二者相除的余数再加上除数a2的值 被除数A1的小数位数决定了函数值的小数位数 例 mod 36 10 显示6 mod 4 9 90 9 显示6 mod 25 250 5 0 显示0 250 mod 23 5 显示 2 mod 23 5 显示 3 MOD 23 5 显示2 2020年2月29日1时42分 54 6 四舍五入 ROUND 数值表达式 小数位数 例 Setdecimalsto4 小数位为4位Setfixedon 小数位是否固定 默认是不固定 ROUND 1234 1962 3 1234 1960 ROUND 1234 1962 2 1234 2000 ROUND 1546 1962 3 2000 0000 2020年2月29日1时42分 55 7 求平方根 SQRT 数值表达式 例 Setdecimalsto2 SQRT 2 2020年2月29日1时42分 56 8 随机函数 RAND 产生 之间的随机数例 RAND 显示一个0 1的随机数如何产生1 100之间的随机整数 可用以下公式 记住此公式Int 上限 下限 1 Rand 下限 INT 100 rand 1 产生一个a b之间的随机整数为 INT b a 1 rand a 2020年2月29日1时42分 57 1 去前后空格 ALLTRIM 字符串表达式 去后缀空格 TRIM 字符串表达式 RTRIM 字符串表达式 去前缀空格 LTRIM 字符串表达式 例 cVar VFP ALLTRIM cVar cVar VFP TRIM cVar 2 字符函数 2020年2月29日1时42分 58 2 求表达式1在表达式2中首次出现的位置 AT 出现次数 注 出现次数默认为1 AT区分大小写 ATC功能同上 但不区分字母大小写例 Store Nowisthetimeforallgoodmen toaStore isthe tob AT b a Store IS tob AT b a ATC b a 2020年2月29日1时42分 59 3 求字符串长度 LEN 字符串表达式 例 cVar VFP LEN cVar LEN VFP是简写 LEN ALLTRIM VFPhelp 2020年2月29日1时42分 60 4 求子串 SUBSTR 字符串表达式 位置 长度 注 长度缺省时指返回结束前的全部字符例 Store abcdefghijklm tomystring SUBSTR mystring 6 2 SUBSTR mystring 6 aa 河海大学 SUBSTR aa 5 4 2020年2月29日1时42分 61 5 求左子串 LEFT 字符串表达式 长度 求右子串 RIGHT 字符串表达式 长度 例 LEFT Redmond WA 7 RIGHT Redmond WA 7 6 SPACE 算术表达式 例 Space 3 6 产生9个空格 2020年2月29日1时42分 62 3 日期和时间函数 1 DATE TIME 与DATETIME 例 setcenturyoff date setcenturyon date time datetime setdatetolong date setdatetoansi date sr 2008 08 08 date sr 显示今天距2008 08 08多少天 2020年2月29日1时42分 63 2 YEAR 日期 时间表达式 MONTH 日期 时间表达式 与DAY 日期 时间表达式 例 Year date Month date storemonth gdBuy 31 togdMonth gdMonth 2020年2月29日1时42分 64 3 DOW 日期 时间表达式 注 得到该日期是一周的第几天 第一天为星期日 例 DOW date DOW 2008 08 08 2020年2月29日1时42分 65 4 数据类型转换函数 1 ASC 字符串表达式 返回最左边的ASCII值例 ASC ABCD ASC 8 2 CHR 数值表达式 ASCII值转成字符注 CHR 13 为换行符例 CHR 65 显示A CHR 57 显示9 2020年2月29日1时42分 66 3 VAL 字符串表达式 从左到右返回字符表达式中的数字数值 直至遇到非数值型字符时为止 字符串转成数值 若表达式的第一个字符不是数字 也不是加 减号 则函数返回0例 a 12 b 14 a b val a val b val 234aaaa Store 1 25E3 toc 2 val c 2020年2月29日1时42分 67 5 STR 数值表达式 宽度 小数位数 数值型转字符型注 缺省时默认宽度为10 小数位数为0 若宽度大于整个数值的宽度 则用前导空格填充例 STR 314 15 显示314 STR 314 15 5 显示314 STR 314 15 5 2 显示314 2 STR 314 15 2 显示 STR 1234567890123 显示1 234E 12X 123Y 321 str X str Y 显示123321 2020年2月29日1时42分 68 4 DTOC 日期 时间表达式 1 日期型转字符型TTOC 时间表达式 1 2 时间型转字符型参数 1用于指定以年月日顺序且无分隔符的形式返回字符型日期 参数2仅返回时间部分CTOD 字符串表达式 字符型转日期型CTOT 字符串表达式 字符型转时间型 2020年2月29日1时42分 69 例 Store 1995 10 3110 34 togdThisDate DTOC gdThisDate DTOC gdThisDate 1 TTOC gdThisDate TTOC gdThisDate 1 TTOC gdThisDate 2 setdatetolong DTOC date StoreCTOD 2101 12 15 togdStoreCTOT 2001 10 1222 22 togd gd 2020年2月29日1时42分 70 5 其他常用函数 1 BETWEEN 表达式 下界 上界 例 Between 3 14 15 F Between date 2001 12 15 2101 12 15 T 2 INKEY 时间表达式 例 INKEY 20 等待20s返回按键的ascii值 INKEY 一直等待键击 2020年2月29日1时42分 71 3 TYPE 表达式 例 TYPE date D TYPE 12 3 4 N 4 IIF 逻辑表达式 返回值1 返回值2 例 IIF dow date 1ORdow date 7 今天休息 今天上班 2020年2月29日1时42分 72 5 DISKSPACE 例 setdefaulttoC diskspace diskspace 1024 1024 6 FILE 文件名 例 FILE c config sys 显示 T 2020年2月29日1时42分 73 7 MESSAGEBOX 字符表达式 数值表达式 标题 注意 MESSAGEBOX 的缩写不能写成MESS 只能写成MESSAGEB 例 MessageBox 这是一个例子 3 16 256 我的应用程序 MessageBox 请你换行 CHR 13 显示 1 64 0 小例子 2020年2月29日1时42分 74 8 GETFILE 文件扩展名 文件名 例 gc GETFILE dbf 表文件名 gc 2020年2月29日1时42分 75 练习 1 下列函数中 返回值为字符型的是 A AT B STR D VAL D CTOD 2 函数Round 123 148 2 的返回值是 A 123 148B 100C 123 00D 123 0003 函数LEN DTOC DATE 1 的返回值是 B B 8 2020年2月29日1时42分 76 2 4 4运算符与表达式表达式 由常量 变量 函数及运算符组成的式子 1 数值运算符与表达式 或 乘方 模 例 8 3 18 3 5 4 3 5 2 35 6 显示25 显示39 显示5 等同于MOD 35 6 2020年2月29日1时42分 77 2 4 4运算符与表达式表达式 由常量 变量 函数及运算符组成的式子 1 数值运算符与表达式 2020年2月29日1时42分 78 1 字符串连接符 例 1 2 1 2 字符串连接符 例 12 3 4 3 字符串匹配符 例 ab abc 王 王一平 显示1 21 显示1234 显示 T 显示 T 2 字符运算符与表达式 2020年2月29日1时42分 79 3 日期 和日期时间 运算符与表达式 有两种运算符 1 一个日期可以减去或者加上一个整数 结果为一个新的日期 2009 11 07 2 2009 11 07 20 2009 11 0710 10 10p 50 显示11 05 09 显示11 27 09 显示11 07 0910 11 00pm 2020年2月29日1时42分 80 3 日期 和日期时间 运算符与表达式 2 两个日期 日期时间 相减 结果为两个日期相差的天数 秒数 可以是负数 2009 11 07 2009 11 02 2009 11 02 2009 11 07 2009 11 0710 10 10p 2009 11 0610 10 10p 注意 不可以对两个日期型数据或日期时间型数据进行相加运算 显示5 显示 5 显示86400 2020年2月29日1时42分 81 用于任意数据类型的数据比较 要求符号两边的数据类型相同 运算结果为逻辑值 主要有 或 或 10 9 11 11 ABCD ABC 注 默认的字符序列是PinYin P60 字符串精确比较 显示 F 显示 T 显示 T 4 关系运算符与表达式 2020年2月29日1时42分 82 当SETEXACTON ABCDE ABC F ABCX ABCX T 当SETEXACTOFF ABCDE ABC T ABC ABCDE F SETEXACTON为精确比较 即参加比较的两个字符串必须完全相同 才返回逻辑真值 SETEXACTOFF 默认值 为不精确比较 即右端字符串是左边字符串的左子串时 其值为逻辑真值 2020年2月29日1时42分 83 用于操作逻辑类型的数据 并返回一个逻辑值 NOT或 AND OR 例 判断今天是9月4号吗 day date 4andmonth date 9 判断今天是不是周末 dow date 1ordow date 7 5 逻辑运算符与表达式 2020年2月29日1时42分 84 各种运算符之间的优先级为 算术运算符 关系运算符 逻辑运算符 括号可以改变运算顺序 特别注意 运算的数据类型的匹配 例如 设X 2 Y 6 Z 8 则表达式 X Y ZANDX Y Z的值为 T 2020年2月29日1时42分 85 6 名称表达式名称表达式是由圆括号 括起来的字符表达式 它可用来替换命令和函数中的名称 名称表达式的作用详见以下例子 2020年2月29日1时42分 86 N 100M N 注意不要用中文的引号STORE123 45TO M 用名称表达式替换变量名N 注意不能用赋值号 N 结果为123 45实际上对变量N两次赋值 1 用名称表达式替换变量名 2020年2月29日1时42分 87 DNAME XS DBF USE DNAME 2 用名称表达式替换文件名 2020年2月29日1时42分 88 string1 VISUALFOXPRO6 0 str var string1 书上P62有错 SUBSTR str var 1 6 等价于SUBSTR string1 1 6 结果为VISUAL 3 用名称表达式作为函数的参数 2020年2月29日1时42分 89 DBN JXSJ DBFN XS USE DBN DBFN 打开JXSJ XS 4 用字符表达式构成一个名称表达式 2020年2月29日1时42分 90 7 宏替换 宏替换与名称表达式具有相似的作用 可使用宏替换的方法用内存变量替换名称 在使用宏替换时 将连字符 放在变量前 告诉VFP将此变量值当作名称使用 并使用一个句号 来结束这个宏替换表达式 2020年2月29日1时42分 91 1 宏替换可以替换整个命令 名称表达式不行AA DIR AA 执行DIR命令 AA 不能识别的命令动词 2020年2月29日1时42分 92 FF JS XM LOCATEFOR FF 张三 能正确定位LOCATEFOR FF 张三 已到定位范围末尾 2 宏替换可以构成表达式 名称表达式不能 2020年2月29日1时42分 93 A QWER A 123 宏替换可以出现在赋值语句左边 QWER 值为123 A 123 出错 名称表达式不能出现在赋值语句左边 3 在某些命令和函数中不能使用名称表达式 2020年2月29日1时42分 94 练习 1 表达式STR YEAR DATE 的数据类型为 A NB CC DD M2 已知字符串A 321 B 123 则表达式A B的运算结果是 A 321123B 321123C 198D 1983 在下列有关日期时间型表达式中 语法上错误的是 A DATETIME 1000B DATE 1000C DATETIME DATE D DTOC DATE DTOC DATETIME C B A 2020年2月29日1时42分 95 练习 4 表达式LEN SPACE 3 SPACE 2 的结果为 5 表达式BETWEEN AT me welcome 3 5 的值是 5 F 2020年2月29日1时42分 96 2 4 5空值处理 1 NULL值的特点 1 NULL即为没有任何值 2 数值0和空字符 空格 是有值的 与NULL不同 3 排序优先于其他数据 4 可以出现在任何使用值或表达式的地方 2020年2月29日1时42分 97 1 常数 NULL 例 X NULL 2 输入 CTRL 0 交互方式 3 测试函数 ISNULL 测试字段或表达式是否为NULL 2 作为值使用NULL值 2020年2月29日1时42分 98 NULL的实际应用 1000 0 0 表示存款为0 NULL 表示开始就没有存款 2020年2月29日1时42分 99 null值不是一种数据类型 当给字段或变量赋 NULL 值时 该字段或变量的数据类型不变 只是值变为 NULL 例如 STORE5TOnXnX NULL TYPE nX VFP6 0报告数据类型为数值型 2020年2月29日1时42分 100 3 NULL在命令和函数中的行为 NULL值可以作为参数传递 但应遵从下列规则 1 给命令传递NULL值将产生错误 2 接受NULL值为参数的函数的结果也为NULL值 3 若向本应接受数值型的函数传递NULL值 将产生错误例 N NULL STR 123 45 N 2 系统提示 函数参数的值 类型或数目无效 2020年2月29日1时42分 101 4 empty 函数 确定表达式是否为空值 对空白字段 空字符串 0都返回 T isblank 函数 对空白字段 空字符串都返回 T isnull 函数 对null返回 T 5 如果参与计算的所有值都为null 则VFP的合计函数如SUM将产生NULL 否则任何null值均将被忽略 2020年2月29日1时42分 102 4 NULL在逻辑表达式中的行为 实验2常量变量函数和表达式的使用
展开阅读全文
相关资源
相关搜索

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


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

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


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