版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章数据库应用程序设计方法典型实例任务要求:我们日常生活和工作中所接触的管理信息系统,均属于数据库类应用程序。现在我们以一个大家熟悉的“学生成绩查询”业务为例,开发一个简单的数据库应用程序,学习相关技能。该程序能够完成对后台数据库的增、删、改、查等操作,主要界面如图7.1、7.2、7.3、7.4、7.5所示。程序涉及的业务虽然简单,但所包含的开发方法和技术适用于所有商品化管理信息系统。换言之,大系统和小程序的区别主要在于业务逻辑的复杂程度,核心技术基本相同。希望同学们“背过”相关方法和代码,以便今后灵活运用。图7.1 主窗体(frmMain)运行界面图7.2 “增加记录”窗体(frmAdd)
2、运行界面图7.3 “修改记录”窗体(frmUpdate)运行界面图7.4 “删除记录”窗体(frmDelete)运行界面图7.5 “查询记录”窗体(frmQuery)运行界面设计思路首先设计并创建数据库和数据表,然后进入VB集成开发环境,完成系统开发,实现对后台数据库的增加、修改、删除、查询操作。实现步骤:第1步:数据库设计提示:先看老师创建数据库的演示,然后按下述步骤完成本程序数据库和数据表的创建。要编写出一个实用的数据库应用程序,应具备一些数据库方面的知识。在学习“成绩查询”程序开发方法前,请同学选择一种你熟悉的数据库管理系统(DBMS),比如Access或SQL Server。无论采用哪
3、种数据库管理系统,VB程序的开发过程和主要方法均是相同的。1创建数据库首先我们建立一个名为“成绩”的数据库,如果你采用的是Access,那么数据库文件名为“成绩.mdb”。如果采用的SQL Server,数据库名为“成绩”2创建表在“成绩”数据库中创建三张数据表:学生成绩表、学生情况表、课程情况表。我们假定学号、课程号、姓名、课程名等字段均为字符型,长度20;成绩字段为数值型,长度采用默认值。如表1所示。表1 创建表结构表名结构学生成绩表学号、课程号、成绩学生情况表学号,姓名SQL Server课程情况表课程号,课程名3手工添加记录按表2所示,通过手工方式在“学生情况表”、“课程情况表”中添加
4、记录。“学生成绩表”中的记录将通过利用VB开发的“成绩查询系统”完成。表2添加表记录表名表记录学生成绩表通过程序添加学生情况表手工添加:(001,张红)、(002,李强)、(003,王丽)SQL Server课程情况表手工添加:(001,数据库原理)、(002,可视化程序设计)第2步:界面设计1创建工程新建一个“标准EXE”工程,工程名为“成绩查询”,并按以下要求创建窗体,所有窗体的StartUpPosition属性均设置为:2-屏幕中心。2创建主窗体(frmMain):按图7.1所示,运用菜单技术、工具条技术创建窗体。窗体名frmMain,其他控件保留缺省名称。3创建“增加薪记录”窗体(fr
5、mAdd)按图7.2所示,使用标签、文本框、组合框、命令按钮控件,添加并创建“新增记录”窗体。窗体名为frmAdd,其他控件保留缺省名称。将成绩文本框的Alignment属性设置为:1-Right Justify,使数据在右端显示。4创建“修改记录”窗体(frmUpdate)按图7.3所示,使用标签、文本框、组合框、命令按钮控件,添加并创建“修改记录”窗体。窗体名为frmUpdate,其他控件保留缺省名称。将成绩文本框的Alignment属性设置为:1-Right Justify,使数据在右端显示。5创建“删除记录”窗体(frmDelete)按图7.4所示,使用标签、组合框、命令按钮控件,添加
6、并创建“删除记录”窗体。窗体名为frmDelete,其他控件保留缺省名称。6创建“查询记录”窗体(frmQuery)首先使用“工程部件”菜单添加Microsoft FlexGrid Control6.0表格控件。然后按图7.5所示,使用标签、组合框、命令按钮和FlexGrid表格控件,添加并创建“查询记录”窗体。窗体名为frmQuery,其他控件保留缺省名称。第3步: 代码设计1连接数据库代码请按下列步骤完成此项工作:(1)通过“工程引用”菜单添加以下对象库:Microsoft ActiveX Data Objects 2.7 Library(Ado数据对象)。如果你的机器上没有2.7版本,则
7、可以添加2.0、2.1等其他版本。(2)通过“工程”菜单项添加一个模块(Module),并按下图完成代码设计。(3)通过“工程工程1属性”菜单,将Main过程设置为启动对象。图7.6 连接数据库的代码图完成本项工作后,我们就创建了一个全局变量ADOcn,但它是一个特殊的变量,其数据类型是数据连接对象(Connection对象)。我们可以把ADOcn变量理解成是一个虚拟的数据库,或者称为VB程序中的逻辑数据库,通过它可以非常方便地访问其中的数据表。换句话说,ADOcn是VB程序与后台数据库交互的通道。特别注意的是:(1)Access数据库用户:请根据你实际环境修改Data Source=D:VB
8、教材第7章程序成绩.mdb为实际的路径,或者采用相对路径。有关相对路径的方法请同学们自己查阅相关资料。(2)SQL Server数据库用户:请根据你实际的环境修改Server=bigdog;User ID=sa;Password=sa;Database=成绩。其中,Server表示SQL Server数据库管理系统的机器名,User ID和Password表示SQL Server数据库的用户名和口令,Database为具体的数据库名。2设置窗体间的调用关系在主窗体frmMain上双击工具栏控件,并添加以下代码,如图7.7所示:图7.7 frmMain主窗体代码图通过这段代码完成主窗体对其他窗体
9、的调用,从而将应用程序连接为一个有机整体。当然也可以通过菜单实现这一功能,请同学们自己完成。3frmAdd窗体的代码设计(1)在Load事件,进行初始化工作,代码如图7.8所示:图7.8 frmAdd窗体Load代码(2)双击图7.2新增记录窗体的“确认”按钮后,编写增加记录代码。代码如图7.9所示:图7.9 增加记录代码4frmUpdate窗体的代码设计窗体Load事件的代码同上,请同学们自己完成。确定按钮的代码如图7.10所示:图7.10 修改记录代码5FrmDelete窗体代码设计该窗体的Load事件代码基本同上。确定按钮的代码如图7.11所示:图7.11 删除记录代码6FrmQuery
10、窗体代码设计窗体Load事件代码请同学们自己完成,打印按钮的实现将在后面的章节中详细介绍。查询按钮的代码如图7.12所示:图7.12 查询代码举一反三:细心的同学肯定会发现,上述演示仅仅完成了对“学生成绩表”的增加、修改、删除和查询,其他两个数据表的数据是手工添加进去的。现在希望同学们利用VB完成对其他两个表的增加、修改、删除和查询,同时充分发挥你的设计能力,对程序的主界面进行完善,以便使它可以以灵活地调用各项功能,尽可能实现人机交互的友好性。错误分析:在完成上面程序开发过程中,你可能会遇到一些问题,使你的程序不能正常运行。当出现错误时,不要慌张,请认真阅读错误提示,然后点击“调试”按钮,此时
11、,VB将定位在出现错误的行上。最常见的问题有:1Public ADOcn As New Connection报错你能回答这个问题吗?现在你可以点击 ,了解是否正确掌握了操作方法答案:最可能的原因是没有把Microsoft ActiveX Data Objects 2.7 Library(Ado数据对象)添加到VB集成开发环境中来,或者同时添加了DAO对象。2ADOcn.Open报错你能分析这个原因吗?现在你可以点击,了解自己的分析是否正确,并上机试一试。答案:最可能的原因是连接后台数据库的字符串拼写错误,或者无法访问后台数据库。对于Access数据库:Provider=Microsoft.Je
12、t.OLEDB.4.0;Data Source=Access数据文件全名(mdb)。通常是Access数据库的路径不对。SQL Server数据库:Provider=SQLOLEDB;Server=数据库服务器名称;User ID=用户名;Password=口令;Database=数据库名。有多种可能:一是SQL Server数据库服务没有启动;二是用户名或口令不正确;三是要访问的Database(数据库名)不存在。3.ADOcn. Execute报错你能分析这个原因吗?现在你可以点击,了解自己的分析是否正确,并上机试一试。答案:原因一:没有把Sub Main()设置为启动对象。请到VB“工程
13、-属性”菜单中进行修改原因二:拼写的Insert、Delete和Update语句有错误。请在VB集成开发环境中的“立即”窗口,输入“? strSQL”然后回车,仔细检查所拼写的SQL语句的语法。4.ADOrs.Open报错你能分析这个原因吗?现在你可以点击,了解自己的分析是否正确,并上机试一试。答案: 90%的可能是Select语句语法有错误。请在VB集成开发环境中的“立即”窗口,输入“? strSQL”然后回车,仔细检查所拼写的SQL语句的语法。5.出现“无法找到数据库”之类的错误信息你能分析这个原因吗?现在你可以点击,了解自己的分析是否正确,并上机试一试。答案:缺省情况下,VB程序的启动对
14、象是第一个窗体对象,其缺省名为Form1,本程序中我们将它改为了FrmMain。当加入了一个模块(Module)并在其中写了一个Main子程序后,应到“工程工程属性”菜单将启动对象设置为Sub Main,否则程序无法正确运行,会出现“无法找到数据库”之类的错误提示。6.SQL语句字符串拼接你能分析这个原因吗?现在你可以点击,了解自己的分析是否正确,并上机试一试。答案:本程序中使用的是SQL嵌入式开发方式,如下例所示:strsql = "Insert into 档案(编号,姓名,职称,简历) "strsql = strsql + " Values('&quo
15、t; + Text1 + "','" + Text2 + "','" + Combo1.Text + "','" + Text3 + "')"cn.Execute strsql假设Text1、Text2、Combo1.Text和Text3的值分别为”007”,”张三”,”中级”,”毕业于XX大学”,那么完成字符串拼接后,strsql的值应该为:Insert into 档案(编号,姓名,职称,简历) Values(007,张三,中级,毕业于XX大学)而上述三条语句也就等效于:cn.Execute “Insert into 档案(编号,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版五年级语文上册课件:慈母情深
- 云南省昭通市(2024年-2025年小学四年级语文)人教版阶段练习(上学期)试卷及答案
- 幼儿园办园章程
- 新疆和田地区(2024年-2025年小学四年级语文)人教版小升初真题((上下)学期)试卷及答案
- 《 《红山晚报》微信公众号研究》范文
- 图书出版与版权价值最大化考核试卷
- 发电机组在无人区监测站的长期稳定供电考核试卷
- 家用视听设备售后服务改进措施考核试卷
- 稀有金属在磁性材料领域的应用考核试卷
- 车辆制造工艺参数调整与优化考核试卷
- 《小英雄雨来》名著导读课件
- 生猪屠宰企业检验人员考试试卷
- 宗教临时活动地点申请表
- 登腾种植-dentiumchina-iifinal系统
- 鹰潭市余江区乡镇街道社区行政村统计表
- 地铁是怎样建成少儿科普版共21张课件
- 2022年屯昌县工会系统招聘考试题库及答案解析
- 中长跑体育-完整版课件
- 高中心理健康 心流:一个让你学习成瘾的秘密 课程设计
- 医院急诊科群体性食物中毒应急演练方案
- (三大构成)平面构成PPT
评论
0/150
提交评论