VisualFoxPro60程序设计.ppt

上传人:max****ui 文档编号:8320169 上传时间:2020-03-28 格式:PPT 页数:46 大小:259.66KB
返回 下载 相关 举报
VisualFoxPro60程序设计.ppt_第1页
第1页 / 共46页
VisualFoxPro60程序设计.ppt_第2页
第2页 / 共46页
VisualFoxPro60程序设计.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
建立表前的准备 在建立表结构以前 首先应该根据用户的需求 明确所要创建的表中应该包含哪些字段 每个字段的名称 类型和宽度 建立表基本结构 使用命令建立表结构 格式 CREATE 表文件名 功能 建立一个表文件 说明 输入命令后 按Enter键 屏幕上会出现 表设计器 对话框 利用该对话框即可建立表的结构 参数描述 表文件名指定要创建的表的名称 说明 输入命令后 按Enter键 屏幕上会出现 表设计器 对话框 利用该对话框即可建立表的结构 若定义了备注型字段 则同时建立了一个 FPT为扩展名的表备注文件 若在文件名前指定了驱动器标识符 则文件建立在指定的驱动器上 否则建立在当前驱动器上 不指定文件扩展名时 缺省扩展名为 DBF 若磁盘上存在这个文件或文件重名 系统显示一个警告对话框 提示是否要改写表 如果需要改写 则选择 是 否则选择 否 不要用A J单个字母作为表文件名 因为他们是专门用于工作区别名的 表结构的基本处理方法 功能 显示当前表结构的有关信息 包括表文件名 记录个数 最后一次修改日期 各字段的字段号 字段名 类型 宽度和小数位 一条记录的字节总数 参数说明 TOPRINTER 子句表示将操作结果送到打印机 后面可以接 PROMPT 参数 这一参数的在执行打印命令之前 先打开 打印设置 对话框 用以对打印机有关参数 如纸张大小 打印范围等 进行设置 PROMPT 参数只能紧接TOPRINTER命令 TOFILE 子句表示将操作结果输出到指定的磁盘文件中 1 显示表结构 格式 LIST DISPLAYSTRUCTURE TORINTER PROMPT TOFILE文本文件名 LISTSTRUCTURE和DISPLAYSTRUCTURE命令的区别DISPLAYSTRUCTURE在每显示一屏信息后暂停 等待用户按任意一键后继续显示 LISTSTRUCTURE显示信息时没有周期性暂停 而是连续向下显示 直到显示完毕 2 修改表文件的结构 格式 MODIFYSTRUCTURE 功能 显示表设计器 修改当前表文件的结构 说明 如果没有在当前选定工件区打开表 则显示 打开 对话框 允许用户从中选择一个要修改的表 对表结构的更改包括 添加和删除字段 修改字段名称 大小和数据类型 添加 删除或修改索引标识 以及指定是否支持NULL值等 3 复制表结构 格式 COPYSTRUCTURETO表文件名 FIELDS字段名表 功能 将当前打开的表文件结构的部分或全部复制为表文件名所指定的一个表的结构 参数描述 表文件名 指定生成新表结构的表文件名 FIELDS字段名表 指定在新表中包含的字段及顺序 说明 复制生成的表文件中的结构部分包含哪些字段 以及字段先后顺序都由FIELDS字段名表所规定 若省略该子句 则按字段原来的顺序复制全部字段 4 建立表结构的其它方法 1 生成表结构文件 格式 COPYSTRUCTURETO表结构文件名EXTENDED 功能 它将当前表的结构复制生成一个特殊的表文件 即表结构伸展文件 将Student的结构复制生成一个表结构文件studstr 然后用显示其结构USEStudentCOPYSTRUCTURETOstudstrEXTENDEDUSEstudstrLISTSTRUCTURE 2 将表结构文件还原成表结构 格式 CREATE表文件名FROM表结构文件 功能 将表结构文件还原成为普通表文件 新建的表文件是一个只有结构部分而没有记录的表结构框架 将上例中的studstr表结构文件还原生成一个新的表文件Student1CREATEStudent1FROMstudstrUSEStudent1LISTSTRUCTURE 表的打开 使用任何一个表以前 都必须首先打开表 格式 USE表文件名 EXCLUSIVE SHARED 功能 打开指定的表文件 参数描述 表文件名 指定要打开的表的名称 EXCLUSIVE 以独占的方式打开表 可以修改 SHARED 以共享的方式打开表 可以修改 打开表时若表含有备注型字段 则FPT文件也同时被打开 若不选择任何参数 表示关闭当前工作区中已打开的表 在任一时刻 每个工作区最多允许打开一个表 如果指定工作区已有表打开 在打开新的表时 系统总是先自动关闭原来打打开的表 打开表时 记录指针指向第一条记录 关闭表 格式一 USE功能 关闭当前工作区已打开的表文件 格式二 CLOSEALL功能 关闭所有工作区中的所有的库 表及索引文件 不释放内存变量 格式三 CLOSE文件类型功能 关闭由文件类型指定的相应类型的文件 如closetables可以关闭所有的表文件 格式四 CLEARALL功能 关闭所有工作区中的所有表 并且释放内存变量 格式五 QUIT功能 关闭所有工作区中的表及各类型文件 释放内存变量并返回到操作系统 录入记录数据 表的数据录入有多种方法 第一种方法是在表结构建立时录入数据 对于m和g型数据 按Ctrl Pgdn或双击都可打开编辑窗口 录入完毕后 按Ctrl W存盘 按Esc或Ctrl Q取消 第二种方法是在表结构建成并存盘关闭了 表设计器 之后 利用命令向表中追加记录 格式一 APPEND BLANK 参数描述 BLANK 在当前表的末尾添加一条空记录 功能 在表的末尾添加一个或多个新记录 说明 可以在只有表结构而没有记录的空表中添加记录 也可以在已经录入数据的表中的尾部追加记录 它可以向当前表的尾部追加一条或多条新记录 省略可选项 则在当前表的尾部追加任意新记录 追加记录的方法及操作与用CREATE命令建立表时输入数据的方法相同 当发出APPEND或APPENDBLANK命令 并且在选定工作区中没有打开的表时 将显示一个 打开 对话框 我们可以在对话框中选择一个要添加记录的表 APPEND命令打开一个编辑窗口 我们可以在其中输入一个或多个新记录 增加新记录后 VFP将自动修改打开的所有索引 打开浏览窗口后通过追加方式添加记录方法 在项目管理器中选定一个要添加记录的表 然后单击 浏览 然后在系统菜单中选择 显示 追加方式 录入记录数据 格式二 APPENDFROM 文件名 FIELDS字段名列表 FOR条件 DELIMITED WITH分隔符 SDF 功能 将其他表中的记录追加到当前表记录末尾 若不指定文件类型 则源文件为表文件 参数描述 显示 打开 对话框 从中选择从哪个表中读入数据 FIELDS字段名列表 指定要添加数据的字段 FOR条件 为当前选定表中满足条件的记录追加新记录 省略该选项 则整个源文件记录都追加到当前表中 DELIMITED WITH分隔符 用于指定字段之间的分隔符号 SDF 用于指定源文件的数据格式 SDF为标准文本格式 它用字段的宽度表示记录各字段的值 以回车和换行符将记录隔开 各字段间不使用分隔符 例 appenfromdu txtdelimitedwith withchar 录入记录数据 格式三 APPENDFROMARRAY数组名 FOR条件 FIELDS字段名列表 功能 将数组中的每一行作为一条记录 在当前表的记录末尾追加一条新记录 参数描述 FIELDS字段名列表 若指定此选项 则数组行中的各元素所代表的数据 填入到对应的字段中 记录指针定位 记录定位就是将记录指针移到指定的记录上 记录指针指向的记录称为当前记录 VFP提供了下列绝对定位和相对定位两类命令 1 记录指针的绝对定位 格式一 GOTO GO RECORD数值表达式 TOP BOTTOM格式二 数值表达式 功能 将记录指针直接定位到指定的记录上 参数描述 数值表达式 指定一个物理记录号 记录指针移至该记录上 TOP 将记录指针定位在表的第一个记录上 BOTTOM 将记录指针定位在表的最后一个记录上 说明 RECORD可省略 数值表达式的值必须大于0 且不大于当前表文件的记录个数 2 记录指针的相对定位相对定位与当前记录有关 它是把记录指针从当前位置作相对移动 格式 SKIP 数值表达式 功能 将记录指针向前或向后作相对若干条记录的移动 参数描述 数值表达式 指定记录指针作相对移动的记录数据 说明 1 移动的记录数等于数值表达式的值 其值为正数时 记录指针向下移动 当数值表达式是负数时 记录指针向上移动 2 省略选择项数值表达式 约定为向下移动一条记录 即SKIP等价于SKIP1 在表中插入记录 1 INSRET命令 格式 INSERT BLANK BEFORE 功能 在当前记录之前或之后插入一条或多条新记录 参数描述 选择 BEFORE 子句 新记录插在当前记录之前 当前记录和其后的记录向后顺序移动 否则插在当前记录之后 当前记录之后的记录顺序向后移动 选择 BLANK 子句 则插入一条空记录 说明 1 省略所有可选项 则在当前记录之后插入新记录 2 在VFP中对于具有参照完整性规则的表也不能使用INSERT命令 2 INSERT SQL命令 不讲 在SQL部分讲 格式一 INSERTINTO表文件名 字段名1 字段名2 VALUES 表达式1 表达式2 格式二 INSERTINTO表文件名FROMARRAY数组名 FROMMEMVAR 功能 在表尾追加一个包含指定字段值的记录 参数描述 表文件名 指定要追加记录的表文件名 表文件名中可以包含路径 也可以是一个名称表达式 字段名1 字段名2 指定要插入值的字段名 VALUES 表达式1 表达式2 新插入记录的字段值 FROMARRAY数组名 指定一个数组 数组中的数据将被插入到新记录中 FROMMEMVAR 把内存变量的内容插入到与它同名的字段中 说明 显示表中的记录 格式 LIST DISPLAY OFF FIELDS字段名列表 范围 FOR条件 WHILE条件 TOPRINTER PROMPT TOFILE文本文件名 功能 显示当前表中的全部或部分记录和数据 参数描述 OFF 使用OFF时 不显示记录号 否则显示记录号 范围 范围为可选项 选择时为ALL RECORD N NEXT N REST中的一个参数 表示记录显示的范围 FIELDS字段名列表 若省略字段名表列 则显示当前表中的所有字段 否则显示指定的字段 如果备注字段名出现在字段名表列中 则它的内容按50个字符列宽显示 FOR条件 WHILE条件 该子句用于有选择地显示某些记录 省略时则显示范围限定的全部记录 TOPRINTER PROMPT TOFILE文本文件名 指定记录列表的输出方向 TOPRINTER PROMPT 指定输出到打印机 PROMPT 参数的使用方法同前 TOFILE文本文件名指定输出到所指定的文本文件中 LIST和DISPLAY的区别 1 DISPLAY每显示一屏记录时暂停一次 按任意键后继续显示剩余的记录 而LIST没有周期性暂停 连续向下显示 直到记录显示完毕为止 2 若省略所有可选项 则DISPLAY命令显示当前记录 即范围为NEXT1 而LIST命令显示全部记录 即范围为ALL 修改表中的记录 1 全屏幕编辑命令 1 利用菜单浏览和修改表中的数据 不讲 2 利用命令浏览和修改表中的数据 格式 BROWSE 范围 FIELDS字段名表 LAST FREEZE字段 FOR条件 REST 功能 在屏幕上打开一个浏览窗口 在窗口中显示表的记录 参数描述 范围 指定进行浏览时的记录范围 Fields字段名表 指定在浏览窗口中显示的表的字段 LAST 按最后一次关闭浏览窗口的方式打开浏览窗口 FREEZE字段 冻结指定字段 只能冻结1个 只有此字段能被修改 FOR条件 指定在浏览窗口中显示的记录所要求满足的条件 若有REST参数 打开表时 指针定位在当前记录上 否则定位在表的顶部 说明 1 BROWSE命令可以带有很多任选项 命令格式中只介绍了BROWSE命令的最基本的任选项 EDIT和CHANGE命令 格式 EDIT CHANGE 范围 FIELDS字段名表 FOR条件 功能 两个命令功能一样 都用来交互式编辑或修改当前记录 说明 执行这两个命令后 将打开 浏览 窗口 默认编辑当前记录 2 记录值替换命令 格式 REPLACE字段名1 ADDITIVE 字段名2WITH表达式2 ADDITIVE 范围 FOR条件 WHILE条件 功能 不进入全屏幕编辑方式 根据命令中指定的条件和范围 用表达式的值去更新指定字段的内容 参数描述 字段名1 指定要替换值的字段 WITH表达式1 指定用来进行替换的表达式或值 范围 指定进行替换时的记录范围 FOR条件 指定要进行替换字段值的记录应满足的条件 WHILE条件 当记录的条件不满足时结束替换 ADDITIVE 只用于备注型字段 表示将表达式的值添加到字段的原有内容之后 否则取代原有内容 说明 WITH后面的表达式的类型必须与WITH前面的字段类型一致 例 replace备注with 曾获得中学个人唱歌比赛第一名 addi 删除记录 在VFP中删除记录是分为两步来进行的 第一步是将要删除的记录做上删除标记 第二步才是将记录真正从表是彻底删除 1 逻辑删除 为记录做上删除标记 格式 DELETE 范围 FOR条件 WHILE条件 功能 对当前表文件中指定的记录做删除标记 GO7DELETEGO4DELETENEXT3LIST 2 物理删除 清除带有删除标记的记录 格式 PACK 功能 该命令将从当前表中删除所有带删除标记的记录 说明 用PACK命令删除的记录是不可被恢复的 所以在使用PACK命令前一定要检查删除标记是否加的正确 例 PACKLIST 3 恢复带删除标记的记录 格式 RECALL 范围 FOR条件 WHILE条件 功能 恢复当前表中带删除标记的记录 即去掉删除标记 号 当省略所有的选项时 仅恢复当前记录 RECALLALLBROW 4 清除所有记录 格式 ZAP 功能 从当前表中清除全部记录 仅保留表的结构 ZAP命令与DELETEALL和PACK两条命令执行的结果相同 区别在于ZAP执行的速度更快 当表中的记录很多时尤为明显 数据表与数组之间的数据交换 1 将当前记录复制到数组 格式 SCATTER FIELDS字段名表 MEMO TO数组名 功能 将当前记录的字段值按字段名表顺序依次送入数组元素中 或依次送入一组内存变量 说明 若选择FIELDS子句 只传送字段名表中的字段值 否则将传送所有字段值 备注型字段除外 若要传送备注型字段值 还需使用MEMO选项 使用to数组名能将数据复制到数组名名所示的数组元素中 如果已定义的数组长度不够 会自动扩大数组长度 例 usestudentscatmemotoa 数据表与数组之间的数据交换 2 将多条记录复制到数组 格式 Copytoarray二维数组名 范围 for条件 功能 将多个记录复制到一个数组 说明 数组每一行装一条记录 区别 Scatter只将一个记录复制到数组或一组变量 copytoarray可将多个记录复制到一个数组 数据表与数组之间的数据交换 3 将数组或内存变量的数据复制到当前记录 格式 GATHERFROM数组名 MEMVAR FIELDS字段名表 MEMO 功能 将数组或内存变量的数据依次复制到当前记录 以替换相应字段值 说明 修改记录前应确定记录指针位置 若选择FIELDS子句 仅字段名表中的字段才会被数据元素替代 缺省memo子句时将忽略备注型字段 内存变量值将传送给与它同名的字段 若某字段无同名的内存变量则不对该字段进行数据替换 若数组元素多于字段数 则多出的数组元素不传送 而数组元素少于字段数 则多出的字段其值不会改变 例 gatherfromafields学号 性别 出生日期 数据表的复制 请参看教材P82 1 复制任何类型的文件 格式 COPYFILE文件名1TO文件名2 功能 从文件名1文件复制得到文件名2文件 说明 若对表进行复制 该表必须处于关闭状态 文件名1与文件名2可以使用通配符 和 例 UseCopyfilestudent dbftostu dbf 数据表的复制 请参看教材P82 2 复制表文件 格式 COPYTO文件名 范围 FIELDS字段名表 FOR条件 WHILE条件 TYPE XLS SDF DELIMITED 功能 将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件 说明 1 若表中含有备注型字段 则在复制扩展名为 DBF文件的同时自动复制扩展名为 FPT的备注文件 2 若不含TYPE子句 默认文件的类型是表 若要得到EXCEL文件 TYPE子句必须取XLS 若要得到文本文件 则TYPE子句中必须取SDF 无定界符 或DELIMITED 例 UsestudentCopytostufields学号 姓名 性别for性别 f Copytostu1typesdfTypestu1 txtCopytostu1xls 数据表的复制 请参看教材P82 3 复制数据表结构 格式 COPYSTRUCTURETO文件名 FIELDS字段名表 功能 将当前表的结构复制到文件名指定的新文件中 说明 仅复制当前表的结构 不复制其中的数据 FIELDS字段名表 选项用于指定新表的结构中包含的字段 同时也决定了这些字段在新表中的排列次序 例 UsestudentCopystructuretostu1fields学号 姓名 性别 项目管理器 项目管理器是VFP应用程序开发过程中所有对象与数据的 控制中心 ControlCenter 项目管理器的创建方法 1 利用菜单命令 2 利用命令创建项目管理器 格式 CREATEPROJECT项目文件名 参数描述 项目文件名 指定项目的文件名 如果没有为文件指定扩展名 则VFP自动指定 PJX为扩展名 打开 创建 对话框 提示为正在创建的项目文件命名 数据库的创建和修改 利用命令创建数据库的格式 CREATEDATABASE 文件名 利用命令打开数据库的格式 OPENDATABASE 文件名 EXCLUSIVE SHARED NOUPDATE VALIDATE EXCLUSIVE SHARED 指明数据库是以 独占或共享 方式打开 以独占方式打开时 别的用户在此时就不能打开此数据库 系统默认为独占方式打开 NOUPDATE 指明数据库以只读方式打开 VALIDATE 打开数据库时作合法性检查 如检查库中引用的对象 如表及索引 是否存在 利用命令修改数据库的格式 打开库 MODIFYDATABASE 文件名 数据库的关闭 利用命令关闭数据库的格式 CLOSE ALL DATABASES ALL ALL 关闭所有已打开的文件 DATABASES 项只关闭当前数据库 其他已打开的数据库不关闭 DATABASESALL 关闭所有已打开的数据库文件 数据库表字段确定 确定表字段的几点技巧 每个字段直接和表的主题相关 不要包含可推导得到或通过计算可以得到的字段 收集所需的全部信息 以最小的逻辑单位存储信息 使用主关键字段 VFP不允许在主关键字中有重复值或null值 因此 不能选择包含有这类值的字段作为主关键字 因为要用主关键字的值来查找记录 所以它不能太长 以方便记忆和键入 主关键字可由一定长度的字母和数字组成 或是某一范围内的值 主关键字的长度直接影响数据库的操作速度 因此 在创建主关键字时 该字段值最好使用能满足存储要求的最小长度 数据字典 数据字典是包含数据库中所有信息的一个表 存储在数据字典中的信息称为元数据 即记录关于数据的数据 如长表名 长字段名 库表名 128字符 自由表名 10字符 字段有效性规则以及有关数据库中对象的定义 数据完整性设置 包括表的字段属性 域完整性 记录规则 实体完整性 表之间的永久关系和参照完整性等 字段属性 参看教材P92 表设计器中各选项的含义 格式 即输出掩码 它决定字段在浏览窗口 报表或表单中的数据显示样式 输入掩码 控制用户输入格式 如 A99999 数据字典的作用 记录规则包括记录有效性和触发器 记录有效性规则 如输入len alltrim 学号 8and性别 男女 触发器 是一个对表中记录进行插入 更新或删除时运行的一个逻辑表达式或存储过程来完成指定任务 分为插入触发器 三大类 插入触发器 在数据库表中插入记录时所触发的检测程序 检测结果为真时才接受插入的记录 更新触发器 在数据库表中修改记录时所触发的检测程序 检测结果为真时才能实现更新操作 删除触发器 在数据库表中删除记录时所触发的检测程序 检测结果为真时才能删除记录 如输入Messagebox 真的要删除吗 275 提示信息 6 数据库表间关系设定 VFP是一个关系型数据库管理系统 在每个不同的表中存储的数据之间有一定的关系 通过在这些表之间定义关系后 可以利用这些关系来查找数据库中有关的信息 表之间有三种关系 即一对一关系 一对多关系和多对多关系 在一对一关系中 如果两个表有相同的主题 可在两个表中使用同样的主关键字字段 并以此建立一对一关系 如果两个表有不同的主题及不同的主关键字 选择一个表 任意哪个表 把它的主关键字放到另一个表中作为外部关键字 在一对多关系中要建立这样的关系 就要把关系中 一方 的主关键字字段添加到 多方 的表中 在关系中 一方 用主关键字或候选索引关键字 而 多方 使用普通索引关键字 在多对多关系中向VFP正确指定关系之前 需要改变数据库的设计 即创建第三个表 把多对多关系分解为二个一对多关系 这第三个表称作 纽带表 纽带表可能只包含这两个表的主关键字 也可能包含其它信息 设置参照完整性P95 96 参照完整性与表之间的联系有关 是指在对一个数据表中的数据操作时 通过参照引用相互关联的另一个数据表中的数据 来检查操作是否正确 在建立参照完整性之前 首先要清理数据库 为的是删除数据库中所有带删除标记的记录 方法是 打开 数据库设计器 单击 数据库 菜单中的 清理数据库 命令 参照完整性分为更新 删除和插入规则 更新规则 规定了当更新父表的连接字段 主表 值时 如何处理子表中的记录 有3种处理方式 级联 用新的连接字段值自动修改子表中的所有相关记录 限制 若子表中有相关的记录 则禁止修改父表中的连接字段值 忽略 不做参照完整性检查 可以随意更新父表记录的连接字段值 删除规则 规定了当删除父表中的记录时 如何处理子表中的相关记录 级联 自动删除子表中的所有相关记录 限制 若子表中有相关的记录 则禁止删除父表中的记录 忽略 不做参照完整性检查 删除父表记录时与子表无关 插入规则 规定了当插入子表中的记录时 是否进行参照完整性检查 限制 若父表中没有相匹配的连接字段值则禁止插入子记录 忽略 不做参照完整性检查 可随意插入子记录 将表加入到数据库 1 创建数据库2 将表加入到数据库要将一个或多个表加入到数据库中时 可以在 项目管理器 中选择 数据 选项卡 再从列表中选择 数据库 项下的 表 最后选择 添加 按钮 要添加的表必须具备下列条件 该表是一个有效的 DBF文件 除非为表指定一个唯一的长文件名 否则表不允许与打开的数据库中已有的表同名 表不能同时放在另一个数据库中 要加入表的数据库必须具备下列条件 必须以独占方式打开 要想独占地打开一个数据库 在使用OPENDATABASE命令时加入EXCLUSIVE子句 不包含在事务中 小结 1 建立表前要做好准备 将每个表的字段名 类型 宽度 小数位 等以表格的形式进入充分的描述 2 可以通过项目管理器和使用CREATE命令建立表 也可以通过COPYSTRUCTURE命令从其它表中复制表结构 还可以使用CREATE带FROM子句从一个表结构文件中得到表结构 3 一个表由表结构和数据构成 没有数据的表是没有意义的 表结构可以通过项目管理器和MODIFYSTRUCTURE命令打开表设计器进行修改 4 表在使用前要先打开 表中的记录可以用APPEND INSERTINTO等命令进行追加 也可以使用DELETE命令进行删除 还可以使用BROWSE命令打开全屏幕编辑窗口进行修改和浏览 可以用REPLACE命令替换数据 5 从表中提取数据时 要对表中的记录进行定位 6 可以用菜单方式和命令方式创建项目管理器和数据库 7 加入数据库的表可以享受 数据字典 的功能
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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