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

上传人:za****8 文档编号:13038346 上传时间:2020-06-05 格式:PPT 页数:46 大小:915.01KB
返回 下载 相关 举报
2013-1VFP第10部分(数据库及表的基本操作).ppt_第1页
第1页 / 共46页
2013-1VFP第10部分(数据库及表的基本操作).ppt_第2页
第2页 / 共46页
2013-1VFP第10部分(数据库及表的基本操作).ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
VisualFoxpro6.0,程序设计基础,重庆工商大学计算机学院计算机基础教研室,要点:1.掌握表中的数据类型2.掌握基于数据表的表单设计方法3.掌握数据表中指针定位命令、数据的更新命令、数据删除命令4.了解记录数据与数组之间的传递,第十讲数据库数据表的基本操作,基于数据表的表单设计方法,建立一个表单,设置他们的外观尺寸,以形成Windows软件界面;为表单设置数据环境,数据环境规定表单与数据表的相关性;根据软件功能要求,在表单中分配一些控件对象。原则是美观、清晰、符合操作习惯;设置每一个控件的关键属性值,如:外观特征、数据控制源、标题、是否可见等;,(教科书P112),设置表单中各个控件的默认操作顺序;设计对象的事件驱动程序,也就是这些事件一旦发生,将完成什么功能;将其他的菜单、工具栏与表单联系在一起,用一个主程序驱动,就构成一个完整的Windows应用程序。,(教材P108)【例4-10】建立如表4.4所示的数据表:管理员.dbf,设计如图所示的系统图书管理系统的登录表单。将表单中的组合框与数据表中的用户名字段绑定。,在表单空白处单击右键,在快捷菜单中选择“数据环境”,弹出“打开”对话框,选择管理员.dbf,单击“确定”按钮,在弹出的“添加表或视图”对话框中可以选择并添加多个数据表,在这里我们选择“关闭”按钮,则数据表成功添加到表单中,如图所示。,温馨提示在该对话框中可以只选择姓名字段,或只选择管理员编号,为了避免错误的选择管理员,最好两个字段都选择。,表单执行后,选择一用户名,输入密码,如果密码正确(与数据表中的密码字段对应),单击“进入系统”按钮,可以调用系统主菜单“图书管理系统菜单.MPR”(该菜单的设计在第8章完成);如果密码不正确,最多允许输入3次,每次给出错误提示,如果3次均不正确则直接退出系统,返回操作系统;单击“退出”按钮,可以退出本系统,返回操作系统。,(教科书P110-111事件代码),通常情况下,文本框text、组合框combo等可以作为输入类的控件;标签label、文本框、编辑框edit、列表框list、表格grid、图像、Active绑定控件等作为输出类的控件;命令按钮command、命令按钮组commandgroup、复选框check、选项按钮组optiongroup、计时器timer可以作为控制类的控件。,数据表中记录指针的定位,在VisualFoxPro系统环境下,表中的每一列数据是通过字段名来标识的,而每一行数据是通过记录号来标识的。,在VisualFoxPro系统内部,有一个用以确定当前记录的记录指针,记录指针指向哪一个记录,这一个记录就是当前操作的记录,即当前记录。当表打开时,当前记录为第一个记录。可以用函数recno()来测试当前记录号。,recno(),记录号测试函数,(教科书P121),每一个数据表都有开始和结束标志,可以用函数bof()和eof()来测试。,bof()eof(),文件开始的测试函数,文件结束的测试函数,在一个空表中,bof()和eof()的值为:;recn()的值为。,(教科书P121),在一个空表中,bof()和eof()的值为:.T.;recn()的值为1。,利用命令进行记录定位:绝对定位和相对定位1.绝对定位,goto|bottom|top,命令格式:,(教科书P119),(教材P117)【例5-1】在“图书信息管理”项目中建立一个管理图书信息的表单,保存为“图书信息.scx”,实现“首记录”、“末记录”按钮的功能,使得表单上能够看到图书表的第一条记录或最后一条记录。,在数据环境中添加图书表,将“图书”表的所有字段逐个拖放到表单上,自动生成与该字段关联的控件。,字符、数值、日期型字段,产生文本框控件;逻辑型字段,产生复选框控件;备注型字段,产生编辑框控件;通用型字段,产生ActiveX绑定控件,表示commandgroup1,命令按钮组Commandgroup1的click事件代码如下:docasecasethis.value=1gotopcasethis.value=4gobottomcasethis.value=5thisform.releaseendcasethisform.refresh,数据表字段的值改变后并不能立即显示在控件上,需要使用refresh方法刷新表单中各控件显示的内容。,表示什么?,第1、4、5个按钮:首记录、末记录、关闭,2.相对定位,skip,(教科书P120-121),【例5-2】打开【例5-1】的图书信息.scx表单,进一步完善表单的功能,实现“上一条”、“下一条”按钮的功能,使得表单上能够逐一查看“图书”表的所有记录。,修改Commandgroup1命令按钮组click事件代码,为原多分支case语句增加两个判断分支,代码如下:casethis.value=2skip-1ifbof()gotopmessagebox(已经是第一条记录。)endifcasethis.value=3skipifeof()skip-1messagebox(已经是末记录。)endif,记录的维护,appendblank,命令格式:,(见教科书123页),记录的增加,打开表,“显示”菜单中的“追加方式”,【例5-3】在“图书信息管理”项目中建立如图所示的管理读者信息的表单,保存为“读者信息维护.scx”,单击“添加读者”按钮,可以通过表单录入新的读者信息。,将数据环境中的“读者”表拖放到表单中产生表格控件。,“添加读者”命令按钮的Click事件代码如下:choice=messagebox(确认添加新读者?,4+32+256,确认)ifchoice=6appendblankendifthisform.refresh,单击“是”按钮,函数值为6,用SQL命令添加记录,insertinto,命令格式:,(见教科书124页),用INSERT命令插入记录,insertbeforeblank,命令格式:,(见教科书124页),表格(Grid),主要属性:ColumnCount、RecordSource、RecordSourceType,容器类,与表格建立联系的数据源,教材P124,一般与数据表一起使用,与表格建立联系的数据源的类型:P125表5-2,1、表单数据环境中添加了数据表,表格控件会显示该数据表的内容,2、表单数据环境中没有添加数据表,如,要显示图书表的部分字段的数据。,命令按钮的click事件代码:use图书copytotsfields书号,书名thisform.grid1.recordsourcetype=0thisform.grid1.recordsource=ts表单的unload(释放对象时发生)事件:CloseallDroptablets,表中数据的删除包括逻辑删除和物理删除,删除和恢复表中的数据,1)逻辑删除表中的记录,delete范围for条件1while条件2,命令格式一:,(教科书P127),注意删除标记,deletefromwhere条件,命令格式二:,(教科书P128),2)恢复表中逻辑删除的记录,recall范围for条件1while条件2,(教科书P127),3)物理删除表中的记录,pack,4)记录清除命令,zap,函数BOF(),EOF(),RECNO()结果为?,(教科书P127),(教科书P128),直接删除已经逻辑删除了的记录,与删除相关的命令:功能:将逻辑删除的记录隐藏或显示。on为隐藏,off为显示(默认)。,setdeletedon/off,(教科书P128),【例5-4】打开“读者信息维护”表单,进一步完善表单的功能,实现“删除读者”、“清除标记”、“物理删除”按钮的功能。,Command2命令按钮的click事件代码如下:deletethisform.refreshCommand3命令按钮Click事件代码如下:recallthisform.refreshCommand4命令按钮Click事件代码如下:choice=messagebox(确认删除所有已经逻辑删除的记录“,4+32+256,确认)ifchoice=6packendifthisform.refresh,表记录的修改,replacewith,命令格式二:成批的修改数据,(教科书P129),Replaceall超额业绩量with一季度+二季度+三季度+四季度-指标,例:计算超额业绩量,命令格式:SQL命令更新记录,updateset,(教科书P130),例如,在读者表中,将编号为“d0008”读者的联系电话改为027-3219666。执行如下命令:UPDATE读者SET联系电话=027-3219666WHERE读者编号=d0008,Updatesaleset超额业绩量=一季度+二季度+三季度+四季度-指标,例:计算超额业绩量,例:计算cj.dbf的总分和平均分,方法1:usecjreplaceall总分with英语+计算机+数学,平均分with总分/3,方法2:updatecjset总分=英语+计算机+数学,平均分=总分/3,1.将记录传送到数组命令格式:scatterfieldsmemoto将当前记录的字段值按的顺序依次送入数组元素中。,表数据与数组之间的数据传送,(教科书P30-131),2.将数组的数据传送到记录命令格式:gatherfromfieldsmemo将数组的数据依次传送到当前记录,以替换相应字段值。,【例5-6】建立一个表单如图所示布局相应的控件。单击“记录到数组”按钮能将读者表的第一条记录的读者编号、读者姓名、办证日期分别显示在三个文本框中。单击“数组到记录”按钮能用三个文本框的内容改写读者表第一条记录的读者编号、读者姓名、办证日期。,“记录到数组”命令按钮的Click事件代码如下:use读者browsefields读者编号,读者姓名,办证日期scatterfields读者编号,读者姓名,办证日期toathisform.text1.value=a(1)thisform.text2.value=a(2)thisform.text3.value=a(3),将当前记录值传递给数组,“数组到记录”命令按钮的Click事件代码如下:dimea(3)a(1)=thisform.text1.valuea(2)=thisform.text2.valuea(3)=thisform.text3.valuegatherfromafields读者编号,读者姓名,办证日期browfields读者编号,读者姓名,办证日期noedituse,修改数据表的当前记录值,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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