VFP第10部分(数据库及表的基本操作).ppt

上传人:牧羊曲112 文档编号:6522876 上传时间:2023-11-08 格式:PPT 页数:46 大小:563.50KB
返回 下载 相关 举报
VFP第10部分(数据库及表的基本操作).ppt_第1页
第1页 / 共46页
VFP第10部分(数据库及表的基本操作).ppt_第2页
第2页 / 共46页
VFP第10部分(数据库及表的基本操作).ppt_第3页
第3页 / 共46页
VFP第10部分(数据库及表的基本操作).ppt_第4页
第4页 / 共46页
VFP第10部分(数据库及表的基本操作).ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《VFP第10部分(数据库及表的基本操作).ppt》由会员分享,可在线阅读,更多相关《VFP第10部分(数据库及表的基本操作).ppt(46页珍藏版)》请在三一办公上搜索。

1、Visual Foxpro 6.0,程序设计基础,要点:1.掌握表中的数据类型 2.掌握基于数据表的表单设计方法 3.掌握数据表中指针定位命令、数据的更新命令、数据删除命令 4.了解记录数据与数组之间的传递,第十讲 数据库数据表的基本操作,基于数据表的表单设计方法,建立一个表单,设置他们的外观尺寸,以形成Windows软件界面;为表单设置数据环境,数据环境规定表单与数据表的相关性;根据软件功能要求,在表单中分配一些控件对象。原则是美观、清晰、符合操作习惯;设置每一个控件的关键属性值,如:外观特征、数据控制源、标题、是否可见等;,(教科书P112),设置表单中各个控件的默认操作顺序;设计对象的事

2、件驱动程序,也就是这些事件一旦发生,将完成什么功能;将其他的菜单、工具栏与表单联系在一起,用一个主程序驱动,就构成一个完整的Windows应用程序。,(教材P108)【例4-10】建立如表4.4所示的数据表:管理员.dbf,设计如图所示的系统图书管理系统的登录表单。将表单中的组合框与数据表中的用户名字段绑定。,在表单空白处单击右键,在快捷菜单中选择“数据环境”,弹出“打开”对话框,选择管理员.dbf,单击“确定”按钮,在弹出的“添加表或视图”对话框中可以选择并添加多个数据表,在这里我们选择“关闭”按钮,则数据表成功添加到表单中,如图所示。,温馨提示在该对话框中可以只选择姓名字段,或只选择管理员

3、编号,为了避免错误的选择管理员,最好两个字段都选择。,表单执行后,选择一用户名,输入密码,如果密码正确(与数据表中的密码字段对应),单击“进入系统”按钮,可以调用系统主菜单“图书管理系统菜单.MPR”(该菜单的设计在第8章完成);如果密码不正确,最多允许输入3次,每次给出错误提示,如果3次均不正确则直接退出系统,返回操作系统;单击“退出”按钮,可以退出本系统,返回操作系统。,(教科书P110-111事件代码),通常情况下,文本框text、组合框combo等可以作为输入类的控件;标签label、文本框、编辑框edit、列表框list、表格grid、图像、Active绑定控件等作为输出类的控件;命

4、令按钮command、命令按钮组commandgroup、复选框check、选项按钮组optiongroup、计时器timer可以作为控制类的控件。,数据表中记录指针的定位,在Visual FoxPro 系统环境下,表中的每一列数据是通过字段名来标识的,而每一行数据是通过记录号来标识的。,在Visual FoxPro 系统内部,有一个用以确定当前记录的记录指针,记录指针指向哪一个记录,这一个记录就是当前操作的记录,即当前记录。当表打开时,当前记录为第一个记录。可以用函数recno()来测试当前记录号。,recno(),记录号测试函数,(教科书P121),每一个数据表都有开始和结束标志,可以用函

5、数bof()和eof()来测试。,bof()eof(),文件开始的测试函数,文件结束的测试函数,在一个空表中,bof()和eof()的值为:;recn()的值为。,(教科书P121),在一个空表中,bof()和eof()的值为:.T.;recn()的值为1。,利用命令进行记录定位:绝对定位和相对定位 1.绝对定位,goto|bottom|top,命令格式:,(教科书P119),(教材P117)【例5-1】在“图书信息管理”项目中建立一个管理图书信息的表单,保存为“图书信息.scx”,实现“首记录”、“末记录”按钮的功能,使得表单上能够看到图书表的第一条记录或最后一条记录。,在数据环境中添加图书

6、表,将“图书”表的所有字段逐个拖放到表单上,自动生成与该字段关联的控件。,字符、数值、日期型字段,产生文本框控件;逻辑型字段,产生复选框控件;备注型字段,产生编辑框控件;通用型字段,产生ActiveX绑定控件,表示commandgroup1,命令按钮组Commandgroup1的click事件代码如下:do case case this.value=1 go top case this.value=4 go bottom case this.value=5 thisform.releaseendcasethisform.refresh,数据表字段的值改变后并不能立即显示在控件上,需要使用ref

7、resh方法刷新表单中各控件显示的内容。,表示什么?,第1、4、5个按钮:首记录、末记录、关闭,2.相对定位,skip,(教科书P120-121),【例5-2】打开【例5-1】的图书信息.scx表单,进一步完善表单的功能,实现“上一条”、“下一条”按钮的功能,使得表单上能够逐一查看“图书”表的所有记录。,修改Commandgroup1命令按钮组click事件代码,为原多分支case语句增加两个判断分支,代码如下:case this.value=2 skip-1 if bof()go top messagebox(已经是第一条记录。)endif case this.value=3 skip if

8、 eof()skip-1 messagebox(已经是末记录。)endif,记录的维护,append blank,命令格式:,(见教科书123页),记录的增加,打开表,“显示”菜单中的“追加方式”,【例5-3】在“图书信息管理”项目中建立如图所示的管理读者信息的表单,保存为“读者信息维护.scx”,单击“添加读者”按钮,可以通过表单录入新的读者信息。,将数据环境中的“读者”表拖放到表单中产生表格控件。,“添加读者”命令按钮的Click事件代码如下:choice=messagebox(确认添加新读者?,4+32+256,确认)if choice=6 append blank endif this

9、form.refresh,单击“是”按钮,函数值为6,用SQL命令添加记录,insert into,命令格式:,(见教科书124页),用INSERT命令插入记录,insert before blank,命令格式:,(见教科书124页),表格(Grid),主要属性:ColumnCount、RecordSource、RecordSourceType,容器类,与表格建立联系的数据源,教材P124,一般与数据表一起使用,与表格建立联系的数据源的类型:P125表5-2,1、表单数据环境中添加了数据表,表格控件会显示该数据表的内容,2、表单数据环境中没有添加数据表,如,要显示图书表的部分字段的数据。,命令

10、按钮的click事件代码:use 图书copy to ts fields 书号,书名thisform.grid1.recordsourcetype=0thisform.grid1.recordsource=ts表单的unload(释放对象时发生)事件:Close allDrop table ts,表中数据的删除包括逻辑删除和物理删除,删除和恢复表中的数据,1)逻辑删除表中的记录,delete 范围 for 条件1 while 条件2,命令格式一:,(教科书P127),注意删除标记,delete from where 条件,命令格式二:,(教科书P128),2)恢复表中逻辑删除的记录,recal

11、l 范围 for 条件1 while 条件2,(教科书P127),3)物理删除表中的记录,pack,4)记录清除命令,zap,函数BOF(),EOF(),RECNO()结果为?,(教科书P127),(教科书P128),直接删除已经逻辑删除了的记录,与删除相关的命令:功能:将逻辑删除的记录隐藏或显示。on为隐藏,off为显示(默认)。,set deleted on/off,(教科书P128),【例5-4】打开“读者信息维护”表单,进一步完善表单的功能,实现“删除读者”、“清除标记”、“物理删除”按钮的功能。,Command2命令按钮的click事件代码如下:delete thisform.ref

12、reshCommand3命令按钮Click事件代码如下:recallthisform.refreshCommand4命令按钮Click事件代码如下:choice=messagebox(确认删除所有已经逻辑删除的记录“,4+32+256,确认)if choice=6 pack endifthisform.refresh,表记录的修改,replace with,命令格式二:成批的修改数据,(教科书P129),Replace all 超额业绩量 with 一季度+二季度+三季度+四季度-指标,例:计算超额业绩量,命令格式:SQL命令更新记录,update set,(教科书P130),例如,在读者表中

13、,将编号为“d0008”读者的联系电话改为027-3219666。执行如下命令:UPDATE 读者 SET 联系电话=027-3219666 WHERE 读者编号=d0008,Update sale set 超额业绩量=一季度+二季度+三季度+四季度-指标,例:计算超额业绩量,例:计算cj.dbf的总分和平均分,方法1:use cjreplace all 总分 with 英语+计算机+数学,平均分 with 总分/3,方法2:update cj set 总分=英语+计算机+数学,平均分=总分/3,1.将记录传送到数组命令格式:scatter fields memo to 将当前记录的字段值按的

14、顺序依次送入数组元素中。,表数据与数组之间的数据传送,(教科书P30-131),2.将数组的数据传送到记录命令格式:gather from fields memo 将数组的数据依次传送到当前记录,以替换相应字段值。,【例5-6】建立一个表单如图所示布局相应的控件。单击“记录到数组”按钮能将读者表的第一条记录的读者编号、读者姓名、办证日期分别显示在三个文本框中。单击“数组到记录”按钮能用三个文本框的内容改写读者表第一条记录的读者编号、读者姓名、办证日期。,“记录到数组”命令按钮的Click事件代码如下:use 读者browse fields 读者编号,读者姓名,办证日期scatter field

15、s 读者编号,读者姓名,办证日期 to athisform.text1.value=a(1)thisform.text2.value=a(2)thisform.text3.value=a(3),将当前记录值传递给数组,“数组到记录”命令按钮的Click事件代码如下:dime a(3)a(1)=thisform.text1.valuea(2)=thisform.text2.valuea(3)=thisform.text3.valuegather from a fields 读者编号,读者姓名,办证日期brow fields 读者编号,读者姓名,办证日期 noedituse,修改数据表的当前记录值,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号