数据库应用程序设计方法.ppt_第1页
数据库应用程序设计方法.ppt_第2页
数据库应用程序设计方法.ppt_第3页
数据库应用程序设计方法.ppt_第4页
数据库应用程序设计方法.ppt_第5页
已阅读5页,还剩175页未读 继续免费阅读

下载本文档

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

文档简介

1、1,安徽.蚌埠广播电视大学,第7章数据库应用程序设计方法,2,7.1成绩查询程序设计7.1.1任务概述要编写一个实用的数据库程序,必须系统地学习过数据库原理的知识,并首先设计出符合用户业务需求的数据库体系,然后才能利用某种语言,开发出针对这个数据库的交互程序:数据库应用程序。,3,下面以一个简化的数据库设计为例:1.进行数据库设计建立一个名为“成绩”的数据库,其中包含三张数据表,即学习成绩表、学生情况表、课程情况表。,创建数据库,4,创建表结构,5,2.程序的主要功能利用SQL语句完成对学生成绩表的插入、修改、删除和查询操作。比如:(1)插入记录:InsertInto学生成绩表(学号,课程号,

2、成绩)Values(001,001,85)(2)删除记录DeleteFrom学生成绩表Where学号=001And课程号=001(3)修改记录Update学生成绩表set成绩=90Where学号=001And课程号=001(4)按学号查询Select*From学生成绩表Where学号=001,6,在完成用户界面设计的基础上,只要将上述SQL语句“嵌入”到VB程序中,即可完成成绩查询程序的开发,这种范式通常称为嵌入式开发.,7,7.1.2界面设计1.创建工程新建一“标准EXE”工程.工程名为“成绩查询”.2.创建主窗体(frmMain)设计菜单:增加删除修改查询退出增加学生记录删除学生记录增加课

3、程记录删除课程记录增加成绩删除成绩记录增加用户删除用户,8,9,3.创建新增学生记录窗体(frmAddStudent),10,4.创建新增课程记录窗体(frmAddCourse),11,5.创建新增成绩记录窗体(frmAdd),12,6.创建新增用户记录窗体(frmAdd),13,7.创建修改记录窗体(frmUpdate),14,8.创建删除学生记录窗体(frmDelete),15,9.创建删除课程记录窗体(frmDelete),16,10.创建删除成绩记录窗体(frmDelete),17,11.创建删除用户窗体(frmDelete),18,12.创建查询记录窗体(frmQuery),19,1

4、3.创建身份验证窗体,20,7.1.3代码设计1.连接数据库代码步骤:(1)通过“工程引用”菜单添加对象库:MicrosoftActivexDataObjects2.7Library(Ado数据对象)。(2)通过工程菜单添加一个模块(Module),并设计以下代码。(3)通过“工程工程1属性”菜单,将窗体frmTest过程设计设置为启动对象。,21,添加模块代码:声明全局对象变量ABOcn,用于创建于数据库的连接PublicADOcnAsConnectionPublicSubmain()定义数据库连接字符串DimstrSQLServerAsString用于连接SQLServer数据库,其中:S

5、erver为服务器名称UserID为登录账号Password为登录口令Database为具体的数据库名,22,strSQLServer=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=成绩;DataSource=lg如果还没有建立于数据库的连接,则用以下代码创建.IfADOcnIsNothingThenSetADOcn=NewConnectionADOcn.OpenstrSQLServerEndIfEndSub,23,完成本项工作后,就创建了一个全局变量ADOcn,但它是一

6、个特殊的变量,其数据类型是数据连接对象(Connection对象)。可以把ADOcn理解成是一个虚拟的数据库。或者称为VB程序中的逻辑数据库,通过它可以非常方便地访问其中的数据。换句话说,ADDcn是VB程序的后台数据库交互的通道。,24,2.设置窗体间的调用关系,25,2.设置窗体间的调用关系调用增加课程窗体PrivateSubAddCourse_Click(IndexAsInteger)frmAddCourse.ShowEndSub调用增加成绩窗体PrivateSubAddGrade_Click(IndexAsInteger)FrmAdd.ShowEndSub调用增加学生窗体Private

7、SubAddStudent_Click(IndexAsInteger)FrmAddStudent.ShowEndSub,26,2.设置窗体间的调用关系调用增加用户窗体PrivateSubAddUser_Click()FrmAddUser.ShowEndSub调用删除课程窗体PrivateSubDeleteCourse_Click()frmDeleteCourse.ShowEndSub调用删除成绩窗体PrivateSubDeleteGrade_Click()frmDelete.ShowEndSub,27,2.设置窗体间的调用关系调用删除学生窗体PrivateSubDeleteStudent_Cl

8、ick()frmDeleteStudent.ShowEndSub调用删除用户窗体PrivateSubDeleteUser_Click()frmDeleteUser.ShowEndSub调用成绩查询窗体PrivateSubQuery_Click()frmQuery.ShowEndSub,28,2.设置窗体间的调用关系调用修改成绩窗体PrivateSubUpdate_Click()FrmUpdate.ShowEndSub调用退出程序PrivateSubExit_Click()EndEndSub,29,3.frmAddStudent窗体的代码设计:,30,3.frmAddStusent窗体的代码设计

9、:(1)在Load事件中,进行初始化工作,代码如下:PrivateSubForm_Load()Main声明一个记录集对象DimADOrsAsNewRecordset初始化文本框控件Text1.Text=Text2.Text=EndSub,31,3.frmAddStusent窗体的代码设计:(2)Command1_Click()(”确定”按钮)事件代码PrivateSubCommand1_Click()DimstrSQLAsString声明一个记录集对象DimADOrsAsNewRecordset与ADOcn连接对象关联ADOrs.ActiveConnection=ADOcnIfText1.Te

10、xt=ThenMsgBox未输入学号,请重新输入数据!,vbCritical+vbOKOnlyExitSubEndIf,32,3.frmAddStusent窗体的代码设计:Command1_Click()(”确定”按钮)事件代码IfText2.Text=ThenMsgBox“未输入姓名,请重新输入数据!”,vbCritical+vbOKOnlyExitSubEndIf首先查询表中是否存在关键字相同的记录strSQL=select*from学生情况表strSQL=strSQLDataSource=G:VB_N作业编程题演示作业3.三.5db1.mdb;PersistSecurityInfo=Fa

11、lse创建连接SetADOcn=NewConnectionADOcn.OpenstrAccessForm1.ShowEndSub,165,窗体form_Click()事件代码PrivateSubform_Click()DimstrSQL,strRecordAsString声明一个记录集对象,并与ADOcn关联DimADOrsAsNewRecordsetADOrs.ActiveConnection=ADOcnADOrs.Openselect*from学生初始化MSFlexGrid表格MSFlexGrid1.ClearMSFlexGrid1.Rows=0行数MSFlexGrid1.Cols=3列数

12、设置表格标题栏strRecord=学号+vbTab+姓名+vbTab+专业MSFlexGrid1.AddItemstrRecord,166,MSFlexGrid1.AddItemstrRecord从第一条记录开始循环,直到表尾DoWhileNotADOrs.EOF拼写表格内容strRecord=Trim(ADOrs(学号)+vbTab+Trim(ADOrs(姓名)+vbTab+Trim(ADOrs(专业)向表内添加行MSFlexGrid1.AddItemstrRecord取下一条记录ADOrs.MoveNextLoopEndSub,167,“关闭“按钮”Command3_Click()事件代码

13、PrivateSubCommand3_Click()EndEndSub,168,7.4报表设计7.4.1常用的报表设计工具概述(1)DataReport(报表设计器)是VB内置的功能,通过“工程添加DataReport菜单可以打开报表设计界面。(2)CrystalReport(水晶报表)(3)利用Excel方法(4)利用第三方报表控件,169,7.4.3DataReport报表设计器的使用1.报表设计器的结构点击“工程添加DataReport”菜单项后,将出现报表设计器窗题,展示了一张报表的通用格式:,170,171,172,报表结构:(1)报表表头(ReportHeader):用于显示报表的

14、标题。(2)页标头(PageHeader):用于显示页的标题(例如属性名)。(3)细节(Detail):用于显示报表的细节内容,每行显示一个记录。(4)页脚注(PageFooter):用于显示页的尾注。(5)报表脚注(ReportFooter):用于显示报表的尾注。,173,2.数据报表工具箱,174,2.数据报表工具箱数据报表工具箱的控件是专门用于制作报表的,使用方法与VB标准控件相似。常用的有:(1)RptLabel:用于静态文本的显示,功能和用法类似Label控件。(2)RptTextBox:主要用于显示数据库中的记录字段,功能和用法于TextBox相似。(3)RptLine:主要用于画

15、线,功能和用法类似Line控件。(4)RptImage:主要用于静态图象的显示,功能和用法与Image控件相似。,175,3.报表设计实例(以学生成绩查询报表为例)(1)任务描述将用户按学号查询学生成绩信息时的查询结果在打印机上以报表的形式输出。(2)报表界面设计1)在“成绩查询”工程中添家一个DataReport窗体,将它的Caption属性设置为“学生成绩查询报表”。2)从报表工具箱添加RptLabel、RptTextBox、RptLine控件。分别设置RptLabel控件的Caption属性、RptTextBox的DataField属性。,176,177,(3)代码编写编写frmQuer

16、y窗体的“打印”按钮的“Klick”事件代码:PrivateSubCommand1_Click()DimstrSQL,strRecordAsStringMain声明一个记录集对象DimADOrsAsNewRecordset与ADOcn连接对象关联ADOrs.ActiveConnection=ADOcn,178,拼写Select语句strSQL=Select学生成绩表.学号,学生成绩表.课程号strSQL=strSQL+,学生情况表.姓名,课程情况表.课程名,学生成绩表.成绩strSQL=strSQL+From学生成绩表,学生情况表,课程情况表strSQL=strSQL+Where学生成绩表.学号=学生情况表.学号strSQL=strSQL+And学生成绩表.课程号=课程情况表.课程号strSQL=strSQL+And学生成绩

温馨提示

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

评论

0/150

提交评论