VF第8讲(数据库及表的基本操作1).ppt_第1页
VF第8讲(数据库及表的基本操作1).ppt_第2页
VF第8讲(数据库及表的基本操作1).ppt_第3页
VF第8讲(数据库及表的基本操作1).ppt_第4页
VF第8讲(数据库及表的基本操作1).ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计基础(VisualFoxPro),第八讲数据表的基本操作,杨劲副教授yangjin电话要点:1.数据表的基本结构2.数据表中基本操作3.数据表的顺序查询4.了解记录数据与数组之间的传递5.基于数据表的表单设计方法,表数据库项目,由以下几部分组成的:表的名字-表文件名表头(列标题)-表的结构表的内容-记录项,学生基本情况一览表,特征1:表中每一数据项不可再分,是最基本的单位;特征2:每一列数据项是同属性的。列数根据需要而设,各列的顺序是任意的;特征3:每一行记录由一个事物的诸多属性项构成。记录的顺序可以是任意的;特征4:表中不允许有相同的字段名,也不允许有相同的记录行。,VFP数据表,一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性分类的数据项组成的。,数据表的组成,在VisualFoxPro系统中,一张二维表对应一个数据表,称为表文件(Table)。,一个数据表三要素:,数据表的文件名:数据表的主要标识,用户可以依靠数据表名在磁盘上存取、使用指定的数据表。,数据表的结构:表的每一列对应一个字段,其属性决定了字段名、字段类型和字段长度。,数据表中的记录:一个数据表的大小,主要取决于它拥有的数据记录的多少。不包含记录的数据表称为空表。,数据表的定义,确定表的组织形式,定义表中的字段个数、字段名、字段类型、字段宽度等-定义数据表的结构,表操作的内容,常见的表操作包括:表的创建、删除、复制表结构的修改(字段的添加、删除、更名、属性的修改)表内容的修改(记录的添加、修改、删除、排序、约束条件设置等)表内容的索引、查询与统计多表联合操作,表操作的方法,常用的表操作方法有:命令按钮或菜单命令VFP命令SQL命令,例如新建数据表操作:方法一(菜单命令):“文件”“新建”在“新建”窗口中选择“表”。方法二(VFP命令):CREATE图书方法三(SQL命令):CREATETABLE图书(书号c(8)notnull,作者c(8),书名c(22),价格n(5,1),数量n(4,0),出版社c(20),备注m,封面照片g),操作1:创建表结构,方法一(菜单命令):“文件”“新建”在“新建”窗口中选择“表”在“表设计器”窗口中逐一地定义表中所有字段的名字、类型、宽度,完成对数据表结构的建立。,方法二(VFP命令):CREATE表文件,操作2:查看表结构,利用表设计器可以查看数据表的结构。,方法一(菜单命令):打开需要修改的数据表选择“显示”“表设计器”,方法二(VFP命令):LIST|DISPLAYSTRUCTURE,操作3:修改表结构,利用表设计器修改数据表的结构。,方法一(菜单命令):“表设计器“中修改(查看)在“表设计器”窗口中修改数据表结构(字段名、类型、宽度等)。,方法二(VFP命令):USEMODIFYSTRUCTURE,操作4:表的打开和关闭,对表的操作必须在表打开的情况下进行,编辑窗口的关闭并不影响表的关闭。表关闭时数据会自动存盘。,用USE命令打开或关闭表USEEXCLUSIVE|SHARED,BROWSELIST/DISPLAY,2.VFP命令,操作5:查看表内容,1菜单命令打开目标数据表“显示”“浏览”(可以在“编辑”、“浏览”之间转换)。,打开目标数据表,操作6:向表中加入(修改)记录,可以在表“浏览”窗口或表“编辑”窗口中进行数据表内容的添加和修改。,1创建表后立即输入数据,2以追加方式输入数据打开目标数据表进入表“编辑”或“浏览”窗口选择“显示”菜单下的“追加方式”选项向表输入数据,或修改表中原有数据。,3.VFP命令APPENDBLANK,REPLACEWITH,VFP命令(P129):,打开目标数据表,操作7:成批的修改数据,【例】写出对借阅表进行如下操作的命令:(1)将当前记录的还书日期修改为2008年9月7日。(2)将需要续借的还书日期增加30天;操作命令如下:USE借阅REPLACE还书日期WITH2008-09-07REPLACEALL还书日期WITH还书日期+30FOR是否续借,例:计算cj.dbf的总分和平均分,方法1:usecjreplaceall总分with英语+计算机+数学,平均分with总分/3,方法2:updatecjset总分=英语+计算机+数学,平均分=总分/3,备注型和通用型数据,通用型字段(General)4字节用于存储图象、声音、电子表格和文字文档等OLE对象。,备注型字段(Memo)4字节备注型数据用于存放较长的字符型数据类型。,注意:表文件的备注型数据和通用型数据都放在与该表文件同名的备注文件(.fpt)中。,在数据表打开后,有一个用以确定当前记录的记录指针,记录指针指向哪一个记录,这一个记录就是当前操作的记录,即当前记录。当表打开时,当前记录为第一个记录。可以用函数RECNO()来测试当前记录号。,操作8:数据表中记录的定位,每一个数据表都有开始和结束标志,可以用下面两个函数来测试。(P121),BOF()EOF(),表文件开始的测试函数,表文件结束的测试函数,注1:在一个空表中BOF()和EOF()的值为.T.,RECNO()的值为1注2:在表开始位置BOF()值为.T.,RECNO()值为1在表结束位置EOF()值为.T.,RECNO()值为末记录号+1,1、利用数据表编辑器进行记录定位:,在数据表编辑器浏览方式下,通过鼠标的直接点击。,2、利用命令进行记录定位:,1.绝对定位GOTO|BOTTOM|TOP,2.相对定位SKIP,操作9:记录的插入,VFP命令:,INSERTBLANKBEFORE,在表的当前记录位置(或后)插入一条新的记录。,【例】对图书表增加6号和7号记录。USE图书GO6INSERTBEFORE如果密码不正确,最多允许输入3次,每次给出错误提示,如果3次均不正确则直接退出系统,返回操作系统;单击“退出”按钮,可以退出本系统,返回操作系统。,(教科书P110-111事件代码),通常情况下,文本框、组合框等可以作为输入类的控件;标签、文本框、编辑框、列表框、表格、图像、Active绑定控件等作为输出类的控件;命令按钮、命令按钮组、复选框、选项按钮组、计时器可以作为控制类的控件。,(教材P117)【例5-1】在“图书信息管理”项目中建立一个管理图书信息的表单,保存为“图书信息.scx”,实现“首记录”、“末记录”按钮的功能,使得表单上能够看到图书表的第一条记录或最后一条记录。,表示commandgroup1,命令按钮组Commandgroup1的click事件代码如下:docasecasethis.value=1gotopcasethis.value=4gobottomcasethis.value=5thisform.releaseendcasethisform.refresh,数据表字段的值改变后并不能立即显示在控件上,需要使用refresh方法刷新表单中各控件显示的内容。,表示什么?,第1、4、5个按钮:首记录、末记录、关闭,【例5-2】打开【例5-1】的图书信息.scx表单,进一步完善表单的功能,实现“上一条”、“下一条”按钮的功能,使得表单上能够逐一查看“图书”表的所有记录。,修改Commandgroup1命令按钮组click事件代码,为原多分支case语句增加两个判断分支,代码如下:casethis.value=2skip-1ifbof()gotopmessagebox(已经是第一条记录。)endifcasethis.value=3skipifeof()skip-1messagebox(已经是末记录。)endif,【例5-3】在“图书信息管理”项目中建立如图所示的管理读者信息的表单,保存为“读者信息维护.scx”,单击“添加读者”按钮,可以通过表单录入新的读者信息。,“添加读者”命令按钮的Click事件代码如下:choice=messagebox(确认添加新读者?,4+32+256,确认)ifchoice=6appendblankendifthisform.refresh,单击“是”按钮,函数值为6,【例5-4】打开“读者信息维护”表单,进一步完善表单的功能,实现“删除读者”、“清除标记”、“物理删除”按钮的功能。,Command2命令按钮的click事件代码如下:deletethisform.refreshCommand3命令按钮Click事件代码如下:recallthisform.refreshCommand4命令按钮Click事件代码如下:choice=messagebox(确认删除所有已经逻辑删除的记录“,4+32+256,确认)ifchoice=6packendifthisform.refresh,【例5-5】在“图书信息管理”项目中建立如图所示的“管理员密码修改”表单,在该表单中管理员可以自行修改登陆密码。,修改Command1命令按钮的click事件代码如下:ifalltrim(thisform.text1.value)alltrim(密码);oralltrim(thisform.text2.value);alltrim(thisform.text3.value)messagebox(输入的密码有误,请检查。)thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text1.setfocuselsereplace密码withalltrim(thisform.text2.value)endif,1.顺序查询(条件定位),locate范围for,命令格式:,继续查找命令,命令格式:,continue,不能单独使用,(P150),操作14:数据表的查询,【例6-1】在读者信息表中逐条显示男读者信息。,表单Form1的Init事件代码如下:LOCATEFOR性别=男”“下一条”按钮的Click事件代码如下:Continueiffound()或noteof()thisform.refreshelsemessagebox(已查询完毕!)this.enabled=.f.endif,命令按钮呈灰色显示,1.将记录传送到数组命令格式:scatterfieldsto将当前记录的字段值按的顺序依次送入数组元素中。,操作15:表数据与数组之间的数据传送,(教科书P30-131),2.将数组的数据传送到记录命令格式:gatherfromfields字段名表将数组的数据依次传送到当前记录,以替换相应字段值。,【例5-6】建立一个表单如图所示布局相应的控件。单击“记录到数组”按钮能将读者表的第一条记录的读者编号、读者姓名、办证日期分别显示在三个文本框中。单击“数组到记录”按钮能用三个文本框的内容改写读者表第一条记录的读者编号、读者姓名、办证日期。,“记录到数组”命令按钮的Click事件代码如下:use读者browsefields读者编号,读者姓名,办证日期scatterfields读者编号,读者姓名,办证日期toathisform.text1.value=a(1)this

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论