第12章数据库应用系统开发-课件

PPT
  • 阅读 81 次
  • 下载 0 次
  • 页数 71 页
  • 大小 271.023 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第12章数据库应用系统开发-课件
可在后台配置第一页与第二页中间广告代码
第12章数据库应用系统开发-课件
可在后台配置第二页与第三页中间广告代码
第12章数据库应用系统开发-课件
可在后台配置第三页与第四页中间广告代码
第12章数据库应用系统开发-课件
第12章数据库应用系统开发-课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 71
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】第12章数据库应用系统开发-课件.ppt,共(71)页,271.023 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92337.html

以下为本文档部分文字说明:

第12章数据库应用系统开发主要内容12.1需求分析12.2数据库设计12.3系统设计12.4系统实现与调试12.5数据库应用系统开发实例复习思考题12.1需求分析12.1.1需求调查12.1.2需求分析1.数据流程分析12.1需求分析1.数据流程分析选课登记

处理学生信息表开课计划表学号、班级开课号、班级选课清单课程成绩表重读、重修处理成绩录入处理选课清单成绩单成绩单重读、重修表重读、重修登记清单重读、重修成绩单教科办成绩重读、重修登记清单12.1需求分析2.

数据字典(DD)数据字典是以特定格式记录下来的,对数据流程图中各个基本要素(数据流、文件、加工等)的具体内容和特征所作的完整的对应和说明。是对数据流程图的注释和重要补充,它帮助系统分析师全面确定用户的要求,并为以后的系统设计提供参考依据。数据字典的内容包括:数据项、数据结构、数

据流、加工、文件、外部实体等,一切在数据定义需求中出现的名称都必须有严格的说明。在数据库设计过程中,数据字典被不断地充实、修改、完善。下面以成绩管理数据流图中几个元素的定义加以说明:12.1需求分析(

1)数据项名:成绩别名:分数描述:课程考核的分数值定义:数值型,带一位小数取值范围:0~100(2)数据结构名:成绩单别名:考试成绩描述:学生每学期考试成绩单定义:成绩清单=学生号+开课号+学期+考试成绩(3)加工名:选课登记处理输入数据流:学期、学生

号、开课号、课程号输出数据流:选课清单加工逻辑:把选课者的学生号、所处的学期号、以及所选的开课号、课程号记录进数据库中处理频率:根据学校的学生人数而定,具有集中性12.1需求分析(4)文件名:学生信息表简述:

用来记录学生的基本情况组成:记录学生各种情况的数据项,如学生号、姓名、性别、政治面貌、专业、班级号等读文件:提供各项数据的显示,提取学生的信息写文件:对学生情况的修改、增加或删除这一阶段的主要任务是:确认系统的设计范围;调查信息需求、收集数据;

分析、综合系统调查得到的资料;建立需求说明文档、数据字典、数据流程图。与本阶段同步,对数据处理的同步分析应产生:数据流程图、判定树(判定表)以及数据字典中对处理过程的描述。12.2数据库设计12.2.1数据库设计的策略与方法1.数据库设计的策略2.数据库设计的主流方法(1)

E―R模型加规范化关系的方法(2)数据元素图加规范化关系的方法12.2数据库设计12.2.2数据库设计的步骤12.2数据库设计12.2.3概念结构设计概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。概念结构是独立于支持数据库的D

BMS和使用的硬件环境的。此时,设计人员从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。12.2数据库设计12.2.4逻辑结构设计数据库的逻辑设计就是把概念设计得到的数据库模型,转

化为具体的DBMS所能接受的数据库逻辑结构,包括数据库模式和外模式。而目前大多数DBMS支持关系数据模型,所以数据库的逻辑设计,首先是将E―R模型转换为等价的关系模式。关系数据库的逻辑结构设计的一般步骤如图12.3所示。12.2数据库设计从E-R模式导出初始关系

模式关系模式规范化模式评价是否需要调整否模式调整处理需求E-R模型DBMS特性进入物理设计阶段是图12.3关系数据库的逻辑设计步骤12.2数据库设计12.2.5物理结构设计数据库物理结构设计阶段将根据具体计算机系统(DBMS与硬件等)的特点,为给定的数据模型确定合理

的存储结构和存取方法。为设计数据库物理结构,设计人员必须充分了解所用DBMS的内部特征;充分了解数据库的应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。数据库物理结构设计的环境如图12.4所示。12.2数据库设计数据库物理结构设计人员逻辑数据库结构(模

式、子模式)应用中存取路径的需求数据库物理结构◇存储记录格式◇记录存放位置◇存取方法DBMS特性及OS限制处理频率及操作要求硬件设备特征数据容量图12.4数据库物理结构设计环境数据库物理结构主要由存储记录格式、记录在物理设备上的安排及访问路径(存取方法)等构成。12

.2数据库设计12.2.6数据库实施和维护在数据库正式投入运行之前,还需要完成很多工作。比如,在模式和子模式中加入数据库安全性、完整性的描述,完成应用程序和加载程序的设计,数据库系统的试运行,并在试运行中对系统

进行评价。如果评价结果不能满足要求,还需要对数据库进行修正设计,直到满意为止。数据库正式投入使用,也并不意味着数据库设计生命周期的结束,而是数据库维护阶段的开始。12.3系统设计12.3.1系统总体设计系统总体设计主要

是总结功能框架设计,涉及数据库设计、数据输入和输出的用户界面设计以及程序调试等若干环节,最后需要将它们连编成可执行的应用程序。VFP6应用程序通常由以下几部分组成:1.应用系统主程序2.数据库3.用户界面4.结果输出12.3系统设计12.3.2系统详细设计1.创建数据库数据库应用系统性能

的好坏,主要取决于数据库的设计。VFP6也提供了与关系数据库理论一致的数据定义环境,如数据库、表、永久关系等,因此,应将重点放在考虑整体数据库结构上。2.定义和引用类VFP提供了一系列有利于开发应用程序、尤其是用户界面的基类。开发者也可以在基类上创建自

定义类,以实现特殊功能。利用VFP的类库,能协助开发者快速创建原型,并向应用程序中添加功能,使代码更易管理和维护。12.3系统设计3.精心设计用户界面用户界面包括菜单、表单、工具栏等,它们可以将应用程序的所有功能

与界面中的控件、菜单命令联系起来。每一个界面都直接向用户展示了一个应用程序的功能。4.提供具有交互能力的输出信息应用系统的信息可以表单、报表、标签等多种形式输出。VFP中的工具给用户提供了任意选择输出形式的功能,在开发应用程序时应注意设置这些功能。例如,查询中可以扩展用户控制数据的能力(

接受用户自定义参数的查询),输出报表时允许用户选择全部打印或部分打印等。12.4系统实现与调试测试和调试应用程序工作贯穿在编程过程的各个阶段。一般先局部后整体,即分别对每一个应用程序调试通过,再在项目管理器中对整体系统进行

联编、联调。测试阶段的任务就是验证系统设计与实现阶段中所完成的功能是否能满足用户需求,从而确认系统是否可以交付运行。在系统实现阶段,一般说来,设计人员也会进行一些测试工作,但这是由设计人员自己进行的一种局部的验证工作,重点是检测程序有无逻辑错误,与系

统测试在测试目的及全面性方面是有很大差别的。12.5数据库应用系统开发实例12.5.1设计思路学生学籍管理系统的运行以封面表单开始,如图12.6所示,要求用户输入登录密码,并设置三次检查功能,若三次输入的密码均有

错,则自动退出系统;否则出现系统菜单,接收用户的操作,操作完毕后用户可以从系统菜单中退出系统。12.5数据库应用系统开发实例12.5.2系统功能系统的功能主要分成十个功能模块,它们是:录入数据、修改数据、删除数据、查询数据、统计数据、显示数据、打印数据、导出数据、导入数据和清空数据。录

入数据可以实现学生信息的录入;修改数据可以实现学生信息的修改;删除数据可以实现学生数据的删除;查询数据可以实现学生信息的查询;统计数据可以实现学生人数、党员人数、学生总平均成绩、高数平均成绩、英语平均成绩和VFP平均成绩的统计;显示数据可以实现以字段分布和

二维表两种方式显示学生信息;打印数据可以实现用报表的形式打印学生的信息;导出数据可以实现学生数据的备份,防止数据丢失;导入数据可以实现学生数据的还原,保证数据的正确性;清空数据可以实现学生数据的清空操作。12.5数据库应

用系统开发实例12.5.3主要数据表结构(可定义表名为xj.dbf)字段名类型宽度小数位数学号字符型2姓名字符型6性别字符型2出生年月字符型10邮编字符型6高数数值型51英语数值型51VFP数值型51是否党员字符型2电话字符型8通信地址字符型30备注备注型412.5数据库应用系统开发实例12.5.

4具体设计1.学生学籍管理系统主程序源代码(程序名为main.prg)_SCREEN.WINDOWSTATE=2&&设置窗口规格为第2种系统窗口_SCREEN.CAPTION="学生学籍管理系统"&&设置窗口标题为“学生学籍管理系统”_SCREEN.CLOSA

BLE=.T.&&去掉关闭按钮_SCREEN.CONTROLBOX=.F.&&去掉控制按钮_SCREEN.MAXBUTTON=.F.&&去掉最大化按钮_SCREEN.MINBUTTON=.F.&&去掉最小化按钮_SCREEN.BACKCOLOR=RGB(50,10

0,128)&&设置窗口的背景色CLOSEALLCLEARALLCLEAR12.5数据库应用系统开发实例SETSYSMENUOFFSETSYSMENUTOSETTALKOFFSETSAFETYOFFSETSTATUSBAROFF&&关闭VFP6的状态栏DOFOR

M封面.SCX&&调用系统登录“封面”表单READEVENT&&响应用户输入DO菜单.MPX&&运行系统菜单READEVENTSETSYSMENUTODEFAULT&&恢复VFP6的系统菜单的默认值SETSYSMEN

UON&&显示VFP6的系统菜单SETSTATUSBARON&&显示VFP6的状态栏CLOSEALL&&关闭所有文件CLEARALLRETURN&&返回12.5数据库应用系统开发实例图12.5登录界面图12.6录入数据12.5数据

库应用系统开发实例2.封面表单源代码(封面.scx)PROCEDUREClickSETEXACTONIFTHISFORM.text1.VALUE="8888"THISFORM.RELEASEDO菜单.MP

XELSETHISFORM.NO=THISFORM.NO+1&&将自定义属性NO的值由0加1IFTHISFORM.NO>=3&&如果自定义属性NO的值为3=MESSAGEBOX("密码三次输错,您不能使用本系统!",0+16+0,"警告")QUIT12.5数据库应用系统开

发实例ELSE=MESSAGEBOX("密码错误!",48+0+0,"警告")THISFORM.text1.VALUE=""THISFORM.text1.SETFOCUSTHISFORM.REFRESHEND

IFENDIFSETEXACTOFFENDPROCPROCEDUREClick&&取消按钮的单击事件过程THISFORM.RELEASE&&释放封面表单CLOSEALLCLEAREVENTQUITENDPROC12.5数据库应用系统开发实例

3.录入数据表单源代码(录入.scx)PROCEDUREInitSETTALKOFFTHISFORM.commandgroup1.command4.ENABLED=.f.THISFORM.commandgroup1.command5.ENABL

ED=.f.THISFORM.txt学号.ENABLED=.f.THISFORM.txt姓名.ENABLED=.f.THISFORM.combo1.ENABLED=.f.THISFORM.combo2.ENABLED=.f.THIS

FORM.combo3.ENABLED=.f.THISFORM.combo4.ENABLED=.f.12.5数据库应用系统开发实例THISFORM.txt邮编.ENABLED=.f.&&设置邮编文本框为不

可用状态THISFORM.txt高数.ENABLED=.f.&&设置高数文本框为不可用状态THISFORM.txt英语.ENABLED=.f.&&设置英语文本框为不可用状态THISFORM.txtVfp.ENABLED=.f.&&设置VFP文本框为不可用状态THISFORM.combo5.EN

ABLED=.f.&&设置组合框5为不可用状态THISFORM.txt电话.ENABLED=.f.&&设置电话文本框为不可用状态THISFORM.txt通信地址.ENABLED=.f.&&设置通信地址文本框为不可用状态THISFORM.edt备注.E

NABLED=.f.&&设置备注编辑框为不可用状态ENDPROC12.5数据库应用系统开发实例PROCEDURELoad&&录入数据表单的加载事件过程CLOSEDATA&&关闭所有数据库USEXJ存&&打开XJ.

DBF表文件SETMULTILOCKSON&&设置锁定一组记录=CURSORSETPROP('buffering',5,'XJ')&&打开开放式表缓冲ENDPROC12.5数据库应用系统开发实例PROCEDUREInteractiveCha

nge&&录入数据表单的交互改变事件过程Repl出生年月withTHISFORM.combo2.displayvalue+"."+THISFORM.combo3.displayvalue+"."+THISFORM.combo4.d

isplayvalueTHISFORM.REFRESH&&刷新录入数据表单ENDPROC12.5数据库应用系统开发实例PROCEDURECommand1.Click&&单击命令按钮1的事件过程APPENDBLANK&&添加一空白记录THISFORM.REFRESH&&刷新录入数

据表单THISFORM.commandgroup1.command1.ENABLED=.f.&&设置命令按钮1为不可用状态THISFORM.commandgroup1.command2.ENABLED=.f.&&设置命令按钮2为不可用状态T

HISFORM.commandgroup1.command3.ENABLED=.f.&&设置命令按钮3为不可用状态THISFORM.commandgroup1.command4.ENABLED=.t.&&设置命令按钮4为可用状态THISFORM.commandgroup1.command5.EN

ABLED=.t.&&设置命令按钮5为可用状态THISFORM.commandgroup1.command6.ENABLED=.f.&&设置命令按钮6为不可用状态THISFORM.txt学号.ENABLED=.t.THISFORM.txt姓名.ENABLE

D=.t.12.5数据库应用系统开发实例THISFORM.combo1.ENABLED=.t.THISFORM.combo2.ENABLED=.t.THISFORM.combo3.ENABLED=.t.THISFORM.combo4.ENABLED=.t.THISFORM.txt邮编.ENABL

ED=.t.THISFORM.txt高数.ENABLED=.t.THISFORM.txt英语.ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.THISFORM.combo5.ENABLED=.t.THISFORM

.txt电话.ENABLED=.t.THISFORM.txt通信地址.ENABLED=.t.THISFORM.edt备注.ENABLED=.t.THISFORM.txt学号.SETFOCUSENDPROC12.5数据库应用系统开发实例PROCEDUREComm

and2.Click&&单击命令按钮2的事件过程SETDELETEON&&设置打开删除命令DELETE&&删除当前记录YN=MESSAGEBOX('确实要删除这条记录?',4+32+256,'删除确认')DOCASE&&运行条件判断语句CASEYN=6&&当单击

“是”按钮时=TABLEUPDATE(.T.)&&执行更新表函数,删除当前记录CASEYN=7&&当单击“否”按钮时RECALL&&恢复已作了删除标记的当前记录ENDCASETHISFORM.REFRESHENDPROC12.5数据库应用系统开发实例PROCEDURECommand3.Cli

ck&&单击命令按钮3的事件过程THISFORM.commandgroup1.command1.ENABLED=.f.THISFORM.commandgroup1.command2.ENABLED=.f.THISFORM.commandgroup1.

command3.ENABLED=.f.THISFORM.commandgroup1.command4.ENABLED=.t.THISFORM.commandgroup1.command5.ENABLED=.t.THISFORM.command

group1.command6.ENABLED=.f.ENDPROC12.5数据库应用系统开发实例PROCEDURECommand4.Click&&单击命令按钮4的事件过程=TABLEUPDATE(.T.)THISFORM.commandgroup1.command1.ENABLED=

.t.THISFORM.commandgroup1.command2.ENABLED=.t.THISFORM.commandgroup1.command3.ENABLED=.t.THISFORM.commandgroup1.command4.ENABLED=.f.THISFORM.c

ommandgroup1.command5.ENABLED=.f.THISFORM.commandgroup1.command6.ENABLED=.t.ENDPROC12.5数据库应用系统开发实例PROCEDURECommand5.Click&&单击命令按钮5的事件过程=TAB

LEREVERT(.T.)THISFORM.commandgroup1.command1.ENABLED=.t.THISFORM.commandgroup1.command2.ENABLED=.t.THISFORM.commandgroup1.command3.ENABLED=.t.THISFOR

M.commandgroup1.command4.ENABLED=.f.THISFORM.commandgroup1.command5.ENABLED=.f.THISFORM.commandgroup1.command6.ENABLED=.t.ENDPROC12.5数据库应用

系统开发实例PROCEDURECommand6.Click&&单击命令按钮6的事件过程SELE1&&选择1号工作区USEXJEXCLUSIVE打开XJ.DBF数据表PACK&&彻底删除已作了删除标记的记录THISFORM.RELEASE&&释放录入数据表单EN

DPROCPROCEDUREInteractiveChangeREPL是否党员WITHTHISFORM.combo5.DISPLAYVALUETHISFORM.REFRESHENDPROC12.5数据库应用系统开发实例4.修改数据表单源代码(修改.scx)THISF

ORM.commandgroup1.command7.ENABLED=.t.PROCEDURECommand1.ClickIFNOTBOF()SKIP–1THISFORM.REFRESHTHISFORM.commandgroup1.command2.EN

ABLED=.t.ELSEWAITWINDOW'已经是第一条记录!'ENDIFENDPROC12.5数据库应用系统开发实例PROCEDURECommand2.ClickIFNOTEOF()&&如果记录指针没有到记录的结尾SKIP&&向下跳转一条记录THISFOR

M.REFRESHTHISFORM.commandgroup1.command1.ENABLED=.t.ELSEWAITWINDOW'已经是最后一条记录!'ENDIFENDPROC12.5数据库应用系统开发实例PROCEDURECommand3.Cli

ckGOTOP&&将记录指针移到记录的开头THISFORM.REFRESHTHISFORM.commandgroup1.command1.ENABLED=.f.THISFORM.commandgroup1.command2.ENABLED=.t.ENDPROC图12.7

修改记录12.5数据库应用系统开发实例PROCEDURECommand4.ClickGOBOTTOM&&将记录指针移到记录的结尾THISFORM.REFRESHTHISFORM.commandgroup

1.command1.ENABLED=.t.THISFORM.commandgroup1.command2.ENABLED=.f.ENDPROC12.5数据库应用系统开发实例PROCEDURECommand5.Click=TABLEUPDATE(.T.)THISFORM.com

mandgroup1.command1.ENABLED=.t.THISFORM.commandgroup1.command2.ENABLED=.t.THISFORM.commandgroup1.command3

.ENABLED=.t.THISFORM.commandgroup1.command4.ENABLED=.t.THISFORM.commandgroup1.command5.ENABLED=.f.THISFORM.commandgroup1.command6.ENABLED=.f.T

HISFORM.commandgroup1.command7.ENABLED=.t.ENDPROC12.5数据库应用系统开发实例PROCEDURECommand6.Click=TABLEREVERT(.T.)&&启用表缓冲,放弃表中对所有记录所

做的修改函数THISFORM.commandgroup1.command1.ENABLED=.t.THISFORM.commandgroup1.command2.ENABLED=.t.THISFORM.commandgro

up1.command3.ENABLED=.t.THISFORM.commandgroup1.command4.ENABLED=.t.THISFORM.commandgroup1.command5.ENABLED=.f.

THISFORM.commandgroup1.command6.ENABLED=.f.ENDPROC12.5数据库应用系统开发实例PROCEDURECommand7.ClickUSEXJEXCLUSIVEPACKTHISFORM.RELEASEENDP

ROC12.5数据库应用系统开发实例PROCEDUREClickIFEMPTY(THISFORM.combo1.VALUE)&&如果组合框1的值为空=MESSAGEBOX("请选择学号!",48+0+0,"学生学籍管理系统")END

IFAA=RECNO()&&用显示记录号的函数将记录号赋给变量AAGOAA&&将记录指针移到当前记录号THISFORM.txt学号.REFRESH&&刷新学号文本框的内容THISFORM.txt姓名.REFRESH&&刷新姓名文本框的内容

THISFORM.txt性别.REFRESH&&刷新性别文本框的内容THISFORM.txt出生年月.REFRESH&&刷新出生年月文本框的内容THISFORM.txt邮编.REFRESH&&刷新邮编文本框

的内容12.5数据库应用系统开发实例THISFORM.txt高数.REFRESH&&刷新高数文本框的内容THISFORM.txt英语.REFRESH&&刷新英语文本框的内容THISFORM.txtVfp.REFRESH&&刷新VFP文本框的

内容THISFORM.txt是否党员.REFRESH&&刷新是否党员文本框的内容THISFORM.txt电话.REFRESH&&刷新电话文本框的内容THISFORM.txt通信地址.REFRESH&&刷新通信地址文本框的内容THISFORM.edt备注.REFRESH&&刷新备注编辑框的内容

THISFORM.commandgroup1.command5.ENABLED=.t.THISFORM.commandgroup1.command6.ENABLED=.t.ENDPROC12.5数据库应用

系统开发实例5.查询数据表单源代码(查询.scx)图12.8查询数据图12.9统计数据12.5数据库应用系统开发实例PROCEDUREClickIFEMPTY(THISFORM.combo1.VALUE)=MESSAGEBOX("请选择学号!",48+0+0,"学生

学籍管理系统")ENDIFAA=RECNO()GOAATHISFORM.txt学号.REFRESHTHISFORM.txt姓名.REFRESHTHISFORM.txt性别.REFRESH图12.9统计数据THISFORM.txt出生年月.REFRESHTHIS

FORM.txt邮编.REFRESHTHISFORM.txt高数.REFRESHTHISFORM.txt英语.REFRESHTHISFORM.txtVfp.REFRESHTHISFORM.txt是否党员.REFRESHTHISFORM.txt电话.REFRESHTHISF

ORM.txt通信地址.REFRESHTHISFORM.edt备注.REFRESHENDPROC12.5数据库应用系统开发实例6.统计数据表单源代码(统计.scx)PROCEDUREClickCOUNTTOAAFOR是否党员="是"THISFORM.text5.valu

e=AATHISFORM.text5.REFRESHENDPROCPROCEDUREClick&&单击“统计英语平均成绩”按钮时的事件过程AVERAGE英语TOAA&&对所有记录的英语成绩求平均,并将平均值赋给变量A

ATHISFORM.text3.value=AA&&将变量AA的值赋给文本框3THISFORM.text3.REFRESHENDPROC12.5数据库应用系统开发实例PROCEDUREClick&&单击“统计VFP平均成绩”按钮时的事件过程AVERAGEvfpTOAA

&&对所有记录的VFP成绩求平均,并将平均值赋给变量AATHISFORM.text4.value=AA&&将变量AA的值赋给文本框4THISFORM.text4.REFRESHENDPROCPROCEDUREClick&&单击“统计总平均成绩”按钮时的事件

过程AVERAGE高数TOAA&&对所有记录的高数成绩求平均,并将平均值赋给变量AAAVERAGE英语TOBB&&对所有记录的英语成绩求平均,并将平均值赋给变量BBAVERAGEvfpTOCC&&对所有

记录的VFP成绩求平均,并将平均值赋给变量CCSTORE(AA+BB+CC)/3TODD&&将三门成绩的平均成绩和除3的总平均成绩赋给DDTHISFORM.text6.value=DD&&将变量DD的值赋给文本框6THISFORM.text6.REFRESHENDPROC12.5数据库应用系统

开发实例7.显示数据表单源代码(显示.scx)图12.10显示数据12.5数据库应用系统开发实例7.显示数据表单源代码(显示.scx)PROCEDURECommand1.Click&&单击“上条”按钮的事件过程IFNOTBOF()SKIP-1THISFORM.REFRESHTHISFORM

.commandgroup1.command2.ENABLED=.t.ELSEWAITWINDOW'已经是第一条记录了!'ENDIFENDPROCPROCEDURECommand2.Click&&单击“下条”按钮的事件过程IFNOTEOF()SKIP12.5数据库应用系统开发实例THIS

FORM.REFRESHTHISFORM.commandgroup1.command1.ENABLED=.t.ELSEWAITWINDOW'已经是最后一条记录了!'ENDIFENDPROCPROCEDURECommand3.Cl

ick&&单击“首条”按钮的事件过程GOTOPTHISFORM.REFRESHTHISFORM.commandgroup1.command1.ENABLED=.f.THISFORM.commandgroup1.command2.

ENABLED=.t.ENDPROC12.5数据库应用系统开发实例PROCEDURECommand4.Click&&单击“末条”按钮的事件过程GOBOTTOMTHISFORM.REFRESHTHISFORM.commandgroup1.comm

and1.ENABLED=.t.THISFORM.commandgroup1.command2.ENABLED=.f.ENDPROCPROCEDURECommand5.Click&&单击“返回”按钮的事件过程THISFORM.RELEASEENDPROC12.5数据库应用系统开发实例8.删除数据

表单源代码(删除.scx)图12.11删除数据12.5数据库应用系统开发实例8.删除数据表单源代码(删除.scx)PROCEDUREClickIFEMPTY(THISFORM.combo1.VALUE)=MESSAGEBOX("请选择学号!",48+0+0,"学生学籍管理系统")THISF

ORM.command2.ENABLED=.f.ELSETHISFORM.command2.ENABLED=.t.ENDIFAA=RECNO()GOAATHISFORM.txt学号.REFRESHTHISFORM.txt姓名.REFRESH12.5数据库应用系统开发实

例THISFORM.txt性别.REFRESHTHISFORM.txt出生年月.REFRESHTHISFORM.txt邮编.REFRESHTHISFORM.txt高数.REFRESHTHISFORM.txt英语.REFRESHTHISFORM.txtVfp.REFRESHTH

ISFORM.txt是否党员.REFRESHTHISFORM.txt电话.REFRESHTHISFORM.txt通信地址.REFRESHTHISFORM.edt备注.REFRESHENDPROC12.5数

据库应用系统开发实例PROCEDUREClick&&单击“删除”按钮的事件过程SETDELETEONDELETEYN=MESSAGEBOX('确实要删除这条记录?',4+32+256,'删除确认')DOCASECASE

YN=6=TABLEUPDATE(.T.)=MESSAGEBOX("记录已成功删除!",0+64+0,'学生学籍管理系统')THISFORM.command2.ENABLED=.f.THISFORM.combo1.DISPLAYVALUE="请选择

"GOTOP12.5数据库应用系统开发实例CASEYN=7RECALLENDCASETHISFORM.REFRESHENDPROCPROCEDUREInit&&删除数据表单的初始化过程SETTALKOFFTHISFORM.command2.ENABLED=.f.END

PROCPROCEDUREClickUSEXJEXCLUSIVEPACKTHISFORM.RELEASEENDPROC12.5数据库应用系统开发实例9.导出数据表单源代码(导出数据.scx)图12.12导出数据12.5数据

库应用系统开发实例PROCEDUREClickSETSAFETYOFFUSEA:\XJGOTOPIFEMPTY(THISFORM.combo1.VALUE)=MESSAGEBOX("请选择盘符!",48+0

+0,"学生学籍管理系统")ELSEIFEMPTY(THISFORM.text1.VALUE)=MESSAGEBOX("请输入文件名!",48+0+0,"学生学籍管理系统")12.5数据库应用系统开发实例ELSEIFRECC()>0&

&如果表记录大于0DRIVER=THISFORM.COMBO1.DISPLAYVALUE&&将组合框1的值赋给变量DRIVERFILENAME=ALLTRIM(THISFORM.TEXT1.TEXT)COPYTO&DRIVER\&FILENAME

&&将系统表文件复制到选定的盘符和文件名中=MESSAGEBOX("本系统所有数据已转出完毕!",48,"信息提示")USETHISFORM.RELEASE12.5数据库应用系统开发实例ELSE=MESSAGEBOX("没有任何数据,不能转出",48,"信息提示")USE

THISFORM.RELEASEENDIFENDIFENDIFENDPROCPROCEDUREClick&&单击“取消”按钮的事件过程RELEASETHISFORMENDPROC12.5数据库应用系统开发实例

10.导入数据表单源代码(导入数据.scx)图12.13导入数据12.5数据库应用系统开发实例PROCEDUREClickSETSAFETYOFFIFEMPTY(THISFORM.combo1.VALUE)=MESSAG

EBOX("请选择要导入的数据表所在的盘符!",48+0+0,"学生学籍管理系统")THISFORM.text1.SETFOCUSELSEIFEMPTY(THISFORM.text1.VALUE)=MESSAGE

BOX("请输入要导入的数据表名!",48+0+0,"学生学籍管理系统")ELSEDRIVER=THISFORM.combo1.VALUEFILENAME=ALLTRIM(THISFORM.TEXT1.VALUE)12.5数据库应用系统开发实

例USEXJ?&&打印一空行ONERROR?MESSAGE()&&发生找不到文件的错误时,打印错误信息APPENDFROM&DRIVER\&FILENAME&&将选定的文件追加到系统表文件中=MESSAGEBOX('数据表已成功导入原表!',0+64+0,'学生学籍管理系统')

USETHISFORM.RELEASEENDIFENDIFENDPROC12.5数据库应用系统开发实例11.打印数据表单源代码(打印.scx)图12.14打印数据12.5数据库应用系统开发实例PROCEDURECommand1.Click??CHR(7)REPORTFORM

学生学籍管理表.frxNOEJECTNOCONSOLETOPRINTERENDPROCPROCEDURECommand2.ClickREPORTFORM学生学籍管理表.frxPREVIEWENDPROCPROCEDURECommand3.ClickTHISFORM.RELEASEENDPROC1

2.5数据库应用系统开发实例12.5.5系统交付这一阶段的工作主要有两个方面,一是全部文档的整理交付,二是对所完成的软件(数据、程序等)打包并形成发行版本。具体来说,一个VFP6数据库应用系统在交付给用户之前,先要将整个系统连编成可直接执行的程序,然后就可以

进行应用程序的发布。复习思考题1.需求分析地目的是什么?2.什么是数据库概念设计?数据库设计包含哪些基本内容?3.试绘制学生学籍管理系统数据流程图。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?