已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章VisualFoxPro数据库管理系统概述 VisualFoxPro6 0概述 一个基于Windows平台和服务器上的可视化DBMS 特点 区分了数据库与数据表的概念 DBC DBF 采用了Rushmore技术 提高了查询效率 引入了SQL命令 使操作更为简单 可以与多种格式的文件交换数据 面向对象的程序设计 用较少的代码 设计出功能强大的应用程序 用项目对文件集中管理 丰富的向导 设计器 生成器和管理器 2 1VisualFoxPro的操作环境 VFP操作界面 主窗口 命令 窗口菜单栏工具栏状态栏 VisualFoxPro6 0的主窗口VisualFoxPro6 0启动后 打开主窗口 如图所示 主窗口包括 标题栏 菜单栏 常用工具栏 状态栏 命令窗口和主窗口工作区几个组成部分 命令说明 DELETEFILE FileName RECYCLE 执行某些菜单命令时 相应的命令语句会自动反映在命令窗口中 命令窗口中的保留字以蓝色显示 命令续行时 在中间行后加分号 插入新的中间行用Ctrl Enter 改变系统环境设置后 按Shift Enter 当前设置会显示在命令窗口中 VFP命令的语法格式说明几个常用命令1 和 2 和 3CLEAR4DIR5MD RD CD6COPYFILE RENAME DELETEFILE7RUN8QUIT 配置VisualFoxPro操作环境 Setdefaultto Path 命令 2 2VisualFoxPro文件类型和文件的创建 创建文件 文件 菜单下的 新建 工具条上的 新建 按钮使用快捷键 Ctrl N 对于不同类型的文件使用相应的命令使用向导 Wizard 在项目中新建 2 3VisualFoxPro的项目管理及其操作 项目 文件 数据 文档和对象的集合 项目管理器 VFP中处理对象和数据的主要组织工具 是VFP的 控制中心 项目文件 PJX PJT创建项目文件CREATEPROJECT 项目文件名 文件 菜单中的 新建 命令工具栏中的 新建 按钮 项目管理器 项目管理器的定制窗口形式工具栏形式在项目中新建 添加 移去文件 运行 浏览等快捷菜单命令 包含 排除 设置主文件 重命名 编辑说明 项目信息 2 4VisualFoxPro语言基础 字符型 C 由任意字符 字母 数字 空格 符号等 组成每个字符占一个字节 最多可有254个字符字符型的常量要用英文的单引号或双引号括起来 不可用中文标点 如 A0001 数学系 货币型 Y 当涉及货币时使用 取代数值型宽度为8字节使用货币型数据要在前面加上符号 如 100 数据类型 日期型 D 用于存储有关年月日的数据宽度为8字节日期型常量要放在花括号中 如 dDate 09 10 2001 dBlank 空日期系统默认格式为 mm dd yy 可通过SETDATE SETMARK SETCENTURY命令设置日期格式 或通过系统的 选项 对话框中的 区域 卡中设置 数据类型 日期时间型 T 在保存日期 时间或二者兼有时使用宽度为8字节与日期型一样 要用 将数据括起来可同时包含日期时间 也可只包含两者之一若缺省日期系统用1899年12月30日填入 若缺省时间 系统用午夜零点填入若要指定空日期时间值 要在花括号中加一个冒号 如 数据类型 数值型 N 表示数量由数字0 9 小数点 正负号组成内存变量1 8字节 字段变量1 20字节小数点和小数位数是字段总长度的一部分浮点型 F 与数值型等价包含此类型是为了提供与早期版本兼容 数据类型 逻辑型 L 只含有两个值 真 T 假 F 宽度固定 为1字节是一种高效的存储方法双精度型 D 用于存储精度较高 位数固定的数值宽度为8字节小数点的位置由输入的数值决定 数据类型 整型 I 用于存储无小数的数值宽度为4字节备注型 M 用于在表达式存储数据块宽度为4字节存储指向备注文件中具体内容的指针备注文件 FPT 数据类型 通用型 G 用于存储OLE对象宽度为4字节表中存储的是指向OLE对象的引用 变量命名规则 名称中只能包含字母 汉字 中文版 下划线 和数字符号 名称的开头只能是字母 汉字或下划线 不能是数字 除了自由表的字段名 表的索引标识名至多只能10个字符外 其余的名称的长度可以是在1 128个字符 避免使用系统的保留字 字母不分大小写 存储数据 常量常量的值在操作过程中始终保持不变常量示例 Suzhou VFP5 3 1415926 1 5E 7 9 10 2001 T F 2002 09 10 1 数值型常量 N 由数字0 9 小数点和正负号组成 表示整数或实数值 如 100 21 15 31 21092 5041等分别是数值型常量中的整数和实数 数值型数据在内存中占用8个字节 2 货币型常量 用来表示货币值 书写格式与数据型常量类似 但要多加一个 前置符号 且采用四位小数 他没有科学记数法 在内存中占 个字节 3 字符型常量由任意ASCII字符 汉字和汉字字符组成的字符型数据 字符型常量又称为字符串 为与其他类型常量 变量和标识符相区别 VisualFoxPro要求将字符串中所有字符 用一对双引号 或单引号 或方括号 作为定界符对括起来 如 Iamastudent 中华人民共和国 VisualFoxPro6 0系统 都是字符串 5 日期型常量日期型常量是表示日期值的数据 其默认格式是 mm dd yy yy 如 10 01 02 和 10 01 2002 均表示2002年10月1日这一日期常量值 6 日期时间型常量VisualFoxPro系统中增加了一种表示日期和时间值的日期时间型常量 其默认格式是 mm dd yy yy hh mm ss a p 其中a和p分别表示AM 上午 和PM 下午 日期值和日期时间值的输入格式与输出格式并不完全相同 特别是输出格式受系统环境设置的影响 用户可根据应用需要进行相应调整 设置 1 日期格式中的世纪值通常日期格式中用2位数表示年份 但涉及到世纪问题就不便区分 VisualFoxPro提供设置命令对此进行相应设置 命令格式 SETCENTURYON OFF TO nCentury 命令功能 ON 日期数据显示10位 其中年份4位 即日期值输出时显示年份值 OFF 默认值 日期数据显示8位 年份2位 即日期值输出时不显示年份值 TO nCentury 指定日期数据所对应的世纪值 nCentury是一个1 99的整数 代表世纪数 2 设置日期显示格式用户可以调整 设置日期值和时间值的显示输出格式 既可以用命令方式设置 也可以用菜单方式设置 命令格式 SETDATE TO AMERICAN ANSI BRITISH FRENCH GERMAN ITLIAN JAPAN USA MDY DMY YMD SHORT LONG命令功能 设置日期型和日期时间型数据的显示输出格式 系统默认为AMERICAN美国格式 如果日期格式设置为SHORT或LONG格式 VisualFoxPro系统将按Windows系统设置的短日期格式或长日期格式显示输出日期数据 而且SETCENTURY命令的设置被忽略 各种日期格式设置所对应的日期显示输出格式 见表2 1所示 表2 1系统日期格式 VisualFoxPro系统增加了一种所谓严格的日期格式 不论哪种设置 按严格日期格式表示的日期型和日期时间型数据 都具有相同的值和表示形式 严格的日期格式是 yyyy mm dd hh mm ss a p 符号表明该格式是严格的日期格式 并按照YMD的格式解释日期型和日期时间型数据 它是严格日期格式的标志 不可缺少 有效的日期型和日期时间型数据分隔符为 连字符 正斜杠 句点 和空格 如 2002 10 01 2002 10 0110 30 30a 分别以严格的日期格式表示2002年10月1日及该日上午10时30分30秒这两个日期数据 VisualFoxPro系统默认采用严格的日期格式 并以此检测所有日期型和日期时间型数据的格式是否规范 合法 为与早期版本兼容 用户通过命令或菜单设置改变这一格式 命令设置的命令格式 SETSTRICTDATETO 0 1 2 命令功能 0 关闭严格的日期格式检测 即设置日期格式按传统的严格的格式 1 设置严格的日期格式检测 默认值 要求所有日期型和日期时间型数据均按严格的格式 2 设置与1相同 但如果程序代码中出现CTOD 和CTOT 函数时 会出现编译错误 这个设置最适合调试时使用 用来检测2000年兼容性错误 省略 恢复系统默认值 等价于1的设置 变量 内存中一个存储单元的位置 地址 变量名是存储位置的符号表示 变量分为内存变量和字段变量两种 用赋值号 或用STORE命令创建变量 赋值 cSchool Suzhou nSum 0STORE0TOA B C D E 不特别说明的话 通常变量就是指内存变量 创建变量的同时给变量赋值 控制变量的访问 LOCAL 声明局部变量 用LOCAL创建的变量只能在创建他们的程序中使用 不能被更高层或更低层的程序访问 PRIVATE 声明私有变量 将调用程序中定义的变量在当前程序中隐藏起来 用户可在当前程序中使用同名变量而不影响变量的原始值 PUBLIC 声明全局变量 在当前工作期中任何程序都能使用和修改全局变量 命令窗口中声明的变量是全局变量 访问变量 在VFP中 若变量与字段同名 字段具有更高的优先权 要访问变量 可在变量前加上 m 或m 示例 当前打开的表中有XS字段 且当前记录的XS值为 高山 在命令窗口中下命令 XS 12 5 XS m XS返回结果为 高山 12 5 SAVETOFileName Alllikeskeleton allexceptskeleton 例如 savetomvaralllike yan RESTOREFROMFileName additive 例如 restorefrommvar 内存变量的保存与恢复 数组 数组也是变量 数组由一系列被称为元素的有序数据构成 两要素 数组名和序号 下标 VFP中数组的最大维数为二维 数组在使用前必先声明DECLARE 声明私有数组DIMENSION 声明私有数组PUBLIC 声明全局数组LOCAL 声明局部数组 数组在声明之后 元素的初值为 F 给数组元素赋值 DIMENSIONAA 6 3 AA 1 2 2 数组的第二个元素被赋值2AA 3 数组的全部元素被赋值3BB AA 把数组的第一个元素的值赋给变量BB AA 显示数组第一个元素的值 字段 字段型变量类型由表设计器决定对象 类 对于拥有数据和一定行为特征对象集合的描述例子 汽车类发动机燃料可以行驶对象是类的实例 对象有属性 方法 事件创建对象 CREATEOBJECT 不同数据容器作用域的差异 字段与对象 函数 函数 预先编制好的计算模块 接收参数 返回值组成 函数名 参数1 参数2 返回值数据类型类函数字符函数 数值函数 日期时间函数 测试函数 数据转换函数数据库类函数环境类函数输入输出类函数程序设计类函数 常用函数 ABS 取绝对值INT 取整MOD 取余RAND 随机数 0 1 ROUND 四舍五入函数DATE 取系统日期DATETIME 取系统日期时间 MOD函数 MOD A B 1 A B 0 MOD A B MOD A B B B 2 A B 0 MOD A B B MOD A B B B 常用函数 ALLTRIM 首尾去空ASC 取ASC码AT ATC 检测子串在主串中的位置LEFT RIGHT 取串左 右边子串LEN 串长LOWER UPPER 转换为小 大写MAX MIN 取最大 小值SPACE 产生空格SUBSTR 取子串 常用函数 DAY 取系统日期中的 日 DOW 取星期几 1 7 HOUR 取小时MINUTE 取分钟MONTH 取月份YEAR 取年份CHR 根据所给数值给出字符CTOD 字符型转日期型DTOC 日期型转字符型 常用函数 STR 数值转字符VAL 字符转数值BETWEEN 是否在中间TYPE 类型MESSAGEBOX 显示一个用户自定义对话框 常用函数 IIF 条件成立返回第一结果 否则返回第二个结果 iif dow date 1ordow date 7 今天休息 今天上班 运算符与表达式 表达式是变量 操作符 常量 字段名 控件以及属性的组合 每一个表达式都有一个返回值 表达式类型 字符表达式日期表达式算术表达式逻辑表达式名称表达式 算术表达式算术表达式又称数值表达式 其运算对象和运算结果均为数值型数据 数值运算符的功能及运算优先顺序 如下表所示 表中运算符按运算优先级别从高到低顺序排列 2 4 2字符表达式字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子 字符运算的对象是字符型数据对象 运算结果是字符常量或逻辑常量 表2 3为字符运算符的功能 与 都是字符连接运算符 都将两字符串顺序连接 但 是直接连接 则将串1尾部所有空格移到串2尾部后再连接 运算实质上是比较两个串的包含关系 因此有些书籍中将其归于关系运算 其作用是比较 判断串1是否为串2的子串 如果串1是串2的子串 运算结果为 真 否则为 假 所谓子串 如果串1中所有字符均包含在串2中 且与串1中排列方式与顺序完全一致 则称串1为串2的子串 两个连接运算的优先级别相同 但高于 的比较运算 2 4 3日期表达式由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式 日期运算符分为 和 两种 其作用分别是在日期数据上增加或减少一个天数 在日期时间数据上增加或减少一个秒数 两个运算的优先级别相同 关系表达式由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式 关系表达式的值为逻辑值 关系表达式成立则其值为 真 否则为 假 关系运算符的优先级别相同 关系表达式运算时 就是比较同类两数据对象的 大小 对于不同类型的数据 其 大小 或者是值的大小 或者是先后顺序 日期或日期时间数据以日期或时间的先后顺序为序 在VisualFoxPro系统中 字符型数据的比较相对复杂 默认规则为 1 单个字符单个字符的比较是以字符ASCII码的大小 作为字符的 大小 也就是先后顺序 2 字符串两个字符串进行比较的基本原则是从左到右逐个字符进行比较 但因系统相关设置状态不同 比较的结果与预期的不完全相同 相等比较 用运算符 进行两串比较时 或者到达右端串的末尾字符为止 当SETEXACTOFF时 或者当到达两串的末端为止 当SETEXACTON时 以判断两串是否相等 恒同比较 用运算符 进行两串的恒同比较时 不论SETEXACT的设置如何 只有当两串长度相同 字符相同 排列一致时才成立 大小比较 用运算符进行两串比较时 比较到第 个不相同字符为止 否则 长度较长的串较 大 其他比较 除上述运算符之外的其他运算符 的比较 均可看作是两个运算符以逻辑 或 的关系构成的复合运算 SETANSI的影响 3 汉字系统默认按汉字的拼音排列汉字的顺序 也就是以汉字的拼音顺序比较 大小 因此 汉字比较实质上是以字母的顺序进行比较 但VisualFoxPro系统可以设置汉字按笔画排列顺序 因而 汉字的 大小 就决定其笔画数的多少 用菜单设置汉字排列顺序方式的操作步骤为 单击 工具 选项 命令 将打开 选项 对话框中 在 数据 选项卡的 排序序列 下拉列表框中选择 Stroke 项并确定 系统将按汉字的笔画数进行汉字的排序 比较运算 逻辑表达式由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式 逻辑表达式的运算对象与运算结果均为逻辑型数据 表2 5为逻辑运算符的功能 逻辑运算符前后一般要加圆点 标记 以示区别 对于各种逻辑运算 其运算规则可由逻辑运算真值表确定 下表所示就是逻辑运算真值表 名称表达式 名称表达式是由圆括号括起来的一个字符表达式 可以用来替换命令和函数中的名称 如 字段名 变量名 窗口名 菜单名 文件名和对象名等 若要使用名称列表 须用逗号将各个名称分隔开 例 nVar 100var name nVar STORE123 4TO var name nVar 结果为123 4 相当于nVar 123 4 宏替换 宏替换与名称表达式具有相似的作用 可使用宏替换的方法用内存变量替换名称 使用宏替换时 将连字符 放在变量前 与名称表达式的区别 含有名称表达式的命令或函数的运行速度比含有宏替换的要快宏替换可以替换整个命令 而名称表达式不行宏替换可以用以构成表达式 而名称表达式不能作为其他表达式的组成部分在某些命令和函数中不能使用名称表达式 练习 下面程序运行的结果为 I 1 J 2 X12 Good X I J下面程序运行的结果为 x 1 y 2 c x y c NULL值处理 特点 等价于没有任何值与0 空字符串 或空格不同排序优先于其他数据在计算过程中或大多数函数中都可以用到null值Null值会影响命令 函数 逻辑表达式和参数的行为给字段或变量赋 NULL 值时 该字段或变量的数据类型不变 只是值变为 NULL NULL在逻辑表达式中的行为 练习 null AND F null OR F null null 三个表达式的值分别为 A null null null B F null null C F null T D F F null 正确答案为 B 60 61 62 爱是什么 一个精灵坐在碧绿的枝叶间沉思 风儿若有若无 一只鸟儿飞过来 停在枝上 望着远处将要成熟的稻田 精灵取出一束黄澄澄的稻谷问道 你爱这稻谷吗 爱 为什么 它驱赶我的饥饿 鸟儿啄完稻谷 轻轻梳理着光润的羽毛 现在你爱这稻谷吗 精灵又取出一束黄澄澄的稻谷 鸟儿抬头望着远处的一湾泉水回答 现在我爱那一湾泉水 我有点渴了 精灵摘下一片树叶 里面盛了一汪泉水 鸟儿喝完泉水 准备振翅飞去 请再回答我一个问题 精灵伸出指尖 鸟儿停在上面 你要去做什么更重要的事吗 我这里又稻谷也有泉水 我要去那片开着风信子的山谷 去看那朵风信子 为什么 它能驱赶你的饥饿 不能 它能滋润你的干渴 不能 爱是什么 一个精灵坐在碧绿的枝叶间沉思 风儿若有若无 一只鸟儿飞过来 停在枝上 望着远处将要成熟的稻田 精灵取出一束黄澄澄的稻谷问道 你爱这稻谷吗 爱 为什么 它驱赶我的饥饿 鸟儿啄完稻谷 轻轻梳理着光润的羽毛 现在你爱这稻谷吗 精灵又取出一束黄澄澄的稻谷 鸟儿抬头望着远处的一湾泉水回答 现在我爱那一湾泉水 我有点渴了 精灵摘下一片树叶 里面盛了一汪泉水 鸟儿喝完泉水 准备振翅飞去 请再回答我一个问题 精灵伸出指尖 鸟儿停在上面 你要去做什么更重要的事吗 我这里又稻谷也有泉水 我要去那片开着风信子的山谷 去看那朵风信子 为什么 它能驱赶你的饥饿 不能 它能滋润你的干渴 不能 63 爱是什么 一个精灵坐在碧绿的枝叶间沉思 风儿若有若无 一只鸟儿飞过来 停在枝上 望着远处将要成熟的稻田 精灵取出一束黄澄澄的稻谷问道 你爱这稻谷吗 爱 为什么 它驱赶我的饥饿 鸟儿啄完稻谷 轻轻梳理着光润的羽毛 现在你爱这稻谷吗 精灵又取出一束黄澄澄的稻谷 鸟儿抬头望着远处的一湾泉水回答 现在我爱那一湾泉水 我有点渴了 精灵摘下一片树叶 里面盛了一汪泉水 鸟儿喝完泉水 准备振翅飞去 请再回答我一个问题 精灵伸出指尖 鸟儿停在上面 你要去做什么更重要的事吗 我这里又稻谷也有泉水 我要去那片开着风信子的山谷 去看那朵风信子 为什么 它能驱赶你的饥饿 不能 它能滋润你的干渴 不能 爱是什么 一个精灵坐在碧绿的枝叶间沉思 风儿若有若无 一只鸟儿飞过来 停在枝上 望着远处将要成熟的稻田 精灵取出一束黄澄澄的稻谷问道 你爱这稻谷吗 爱 为什么 它驱赶我的饥饿 鸟儿啄完稻谷 轻轻梳理着光润的羽毛 现在你爱这稻谷吗 精灵又取出一束黄澄澄的稻谷 鸟儿抬头望着远处的一湾泉水回答 现在我爱那一湾泉水 我有点渴了 精灵摘下一片树叶 里面盛了一汪泉水 鸟儿喝完泉水 准备振翅飞去 请再回答我一个问题 精灵伸出指尖 鸟儿停在上面 你要去做什么更重要的事吗 我这里又稻谷也有泉水 我要去那片开着风信子的山谷
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司与车辆合作协议书
- 关于企业合作合同范本
- 2026年企业人力资源管理师之四级人力资源管理师考试题库300道附完整答案(典优)
- 合伙投资股份合同范本
- 位股东借款协议书范本
- 协议签错如何撤销合同
- 合伙投资合同协议范本
- 2026年内蒙古机电职业技术学院单招职业适应性测试题库含答案
- 2026年内蒙古体育职业学院单招职业适应性测试题库完美版
- 会所股权转让合同范本
- 基站基础知识
- PET分类词汇带音标
- 电子科大薄膜物理(赵晓辉)第四章 化学气相沉积
- 2023年全国《经济金融基础知识》题库与答案
- 工贸行业重点可燃性粉尘目录版
- 国内地铁轨道公司组织架构
- 某县医疗卫生机构药品验收记录表
- 乙炔安全技术说明书MSDS
- GA/T 453.2-2021居民身份证冲切技术规范第2部分:冲切设备技术要求
- 医药代表地区经理竞聘ppt模板
- 国电南自110kv主变保护pst671u型调试手册
评论
0/150
提交评论