资源预览内容
第1页 / 共124页
第2页 / 共124页
第3页 / 共124页
第4页 / 共124页
第5页 / 共124页
第6页 / 共124页
第7页 / 共124页
第8页 / 共124页
第9页 / 共124页
第10页 / 共124页
亲,该文档总共124页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库应用程序设计方法1简易学生成绩管理系统程序设计一、任务概述简易学生成绩管理系统主要完成学生成绩的管理,包括:1)、添加信息模块:主要完成学生记录、课程记录、学生成绩和用户记录的添加工作。2)、删除信息模块:主要完成学生记录、课程记录、学生成绩和用户记录的删除工作。3)、修改成绩模块:主要完成学生成绩的修改工作。4)、查询模块:主要完成学生成绩的查询工作。21.进行数据库设计要编写一个实用的数据库程序,必须系统地学习过数据库原理的知识,并首先设计出符合用户业务需求的数据库体系,然后才能利用某种语言,开发出针对这个数据库的交互程序:数据库应用程序。3下面以一个简化的数据库设计为例:建立一个名为“成绩”的数据库,其中包含三张数据表,即学习成绩表、学生情况表、课程情况表。数据库库管理系统统数据库库名表名(最好用英文名)SQLServer或Access成绩绩学生成绩绩表学生情况表课课程情况表用户户创建数据库4创建表结构表名结结构(字段)学生成绩绩表学生情况表课课程情况表用户户学号、课课程号、成绩绩学号、姓名课课程号、课课程名用户户名、密码码、用户类户类型52.程序的主要功能利用SQL语句完成对学生成绩表的插入、修改、删除和查询操作。比如:(1)插入记录:InsertInto学生成绩表(学号课程号成绩)Values(00100185)(2)删除记录DeleteFrom学生成绩表Where学号=001And课程号=001(3)修改记录Update学生成绩表set成绩=90Where学号=001And课程号=001(4)按学号查询SelectFrom学生成绩表Where学号=0016在完成用户界面设计的基础上只要将上述SQL语句“嵌入”到VB程序中即可完成成绩查询程序的开发这种范式通常称为嵌入式开发.7二、界面设计1.创建工程新建一“标准”工程.工程名为“成绩查询”.2.创建主窗体(frmMain)MDI主窗体设计菜单:增加删除修改查询退出增加学生记录删除学生记录修改成绩增加课程记录删除课程记录增加成绩删除成绩记录增加用户删除用户89窗体列表窗体名称窗体文件名作用说明MDI1frmMain.frm用于系统主菜单设计MDI主窗体frmAddCoursefrmAddCourse.frm用于添加课程记录MDI子窗体frmAddGradefrmAddGrade.frm用于添加学生成绩记录MDI子窗体frmAddStudentfrmAddStudent.frm用于添加学生记录MDI子窗体frmAddUserfrmAddUser.frm用于添加用户记录MDI子窗体frmDeleteCoursefrmDeleteCourse.frm用于删除课程记录MDI子窗体frmDeleteGradefrmDeleteGrade.frm用于删除学生成绩记录MDI子窗体frmDeleteStudentfrmDeleteStudent.frm用于删除学生记录MDI子窗体frmDeleteUserfrmDeleteUser.frm用于删除用户记录MDI子窗体frmUpdatafrmUpdata.frm用于修改学生成绩信息MDI子窗体frmQuerystudentfrmQuerystudent.frm用于学生信息查询MDI子窗体frmQueryGradefrmQueryGrade.frm用于学生成绩查询MDI子窗体frmvalidatefrmvalidate.frm用于用户身份验证MDI子窗体10MDI1主窗体菜单项目列表菜单标题菜单名称菜单级次增加addmenu一级增加学生记录AddStudent二级增加课程记录AddCourse二级增加成绩AddGrade二级增加用户AddUser二级删除deletemenu一级删除学生记录DeleteStudent二级删除课程记录DeleteCourse二级删除成绩DeleteGrade二级删除用户DeleteUse二级修改Updatemenu一级修改成绩Updata二级查询Query一级学生基本信息查询Querystudent二级学生成绩查询QueryGrade二级退出Exit一级113.创建新增学生记录窗体(frmAddStudent)-MDI子窗体124.创建新增课程记录窗体(frmAddCourse)-MDI子窗体135.创建新增成绩记录窗体(frmAddGrade)-MDI子窗体146.创建新增用户记录窗体(frmAddUser)-MDI子窗体157.创建修改记录窗体(frmUpdate)-MDI子窗体168.创建删除学生记录窗体(frmDeleteStudent)-MDI子窗体179.创建删除课程记录窗体(frmDeleteCourse)-MDI子窗体1810.创建删除成绩记录窗体(frmDeleteGrade)-MDI子窗体1911.创建删除用户窗体(frmDelete)-MDI子窗体2012.创建查询记录窗体(frmQuery)-MDI子窗体2113.创建身份验证窗体-MDI子窗体221.3代码设计1.连接数据库代码步骤:(1)通过“工程引用”菜单添加对象库:MicrosoftActivexDataObjects2.7Library(Ado数据对象)。(2)通过工程菜单添加一个标准模块(Module),并设计代码。(3)通过“工程工程1属性”菜单,将主窗体(frmMain)MDI1设置为启动对象。23添加标准模块代码:声明全局对象变量ABOcn用于创建于数据库的连接PublicADOcnAsNewADODB.Connection24添加主窗体初始化过程代码:PrivateSubMDI_Initialize()ADOcn.ConnectionString=Provider=SQLOLEDB.1Password=UserID=saInitialCatalog=成绩DataSource=localhostIfADOcn.State=adStateClosedThenADOcn.Open打开到数据库的连接EndSub25完成本项工作后,就创建了一个全局变量ADOcn,但它是一个特殊的变量,其数据类型是数据连接对象(Connection对象)。可以把ADDcn理解成是一个虚拟的数据库。或者称为VB程序中的逻辑数据库,通过它可以非常方便地访问其中的数据。换句话说,ADOcn是VB程序的后台数据库交互的通道。262.设置窗体间的调用关系272.设置窗体间的调用关系调用增加课程窗体PrivateSubAddCourse_Click(IndexAsInteger)frmAddCourse.ShowEndSub调用增加成绩窗体PrivateSubAddGrade_Click(IndexAsInteger)FrmAdd.ShowEndSub调用增加学生窗体PrivateSubAddStudent_Click(IndexAsInteger)FrmAddStudent.ShowEndSub282.设置窗体间的调用关系调用增加用户窗体PrivateSubAddUser_Click()FrmAddUser.ShowEndSub调用删除课程窗体PrivateSubDeleteCourse_Click()frmDeleteCourse.ShowEndSub调用删除成绩窗体PrivateSubDeleteGrade_Click()frmDelete.ShowEndSub292.设置窗体间的调用关系调用删除学生窗体PrivateSubDeleteStudent_Click()frmDeleteStudent.ShowEndSub调用删除用户窗体PrivateSubDeleteUser_Click()frmDeleteUser.ShowEndSub调用学生基本信息查询窗体PrivateSubQuerystudent_Click()frmQuerystudent.ShowEndSub302.设置窗体间的调用关系调用学生成绩查询窗体PrivateSubQueryGrade_Click()frmQueryGrade.ShowEndSub调用修改成绩窗体PrivateSubUpdate_Click()FrmUpdate.ShowEndSub调用退出程序PrivateSubExit_Click()EndEndSub313.frmAddStudent(增加学生)窗体的代码设计:323.frmAddStusent(增加学生)窗体的代码设计:(1)在Load事件中,进行初始化工作,代码如下:PrivateSub_Load()初始化文本框控件Text1.Text=Text2.Text=EndSub333.frmAddStusent(增加学生)窗体的代码设计:(2)Command1_Click()(”确定”按钮)事件代码PrivateSubCommand1_Click()DimADOrsAsNewRecordset声明一个记录集对象DimstrSQLAsStringADOrs.ActiveConnection=ADOcn与ADOcn连接对象关联IfText1.Text=ThenMsgBox未输入学号,请重新输入数据!vbCritical+vbOKOnlyText1.SetFocus定位光标ExitSubEndIfIfText2.Text=ThenMsgBox未输入姓名,请重新输入数据!vbCritical+vbOKOnlyText2.SetFocus定位光标ExitSubEndIf343.frmAddStusent(增加学生)窗体的代码设计:Command1_Click()(”确定”按钮)事件代码首先查询表中是否存在关键字相同的记录strSQL=selectfrom学生情况表strSQL=strSQL&Where学号=+Text1.Text+strSQL=strSQL&and姓名=+Text2.Text+ADOrs.OpenstrSQL如果关键字重复则退出IfNotADOrs.EOFThenMsgBox该记录已经存在不能继续增加vbCritical+vbOKOnlyExitSubEndIf353.frmAddStusent(增加学生)窗体的代码设计:Command1_Click()(”确定”按钮)事件代码拼写Insert插入语句strSQL=InsertInto学生情况表(学号姓名)strSQL=strSQL+Values(+Text1.Text+strSQL=strSQL+Text2.Text+)ADOcn.cutestrSQL执行Insert语句Text1.Text=“初始化文本框控件Text2.Text=Text1.SetFocus定位光标MsgBox已成功添加新记录vbQuestion+vbOKOnlyADOrs.Close关闭记录集SetADOrs=NothingEndSub363.frmAddStusent(增加学生)窗体的代码设计:(3)Command2_Click()(”返回”按钮)事件代码PrivateSubCommand2_Click()UnloadMeEndSub374.frmAddCourse(增加课程)窗体的代码设计:384.frmAddCourse(增加课程)窗体的代码设计:frmAddStudent窗体的代码相似(1)在Load事件中,进行初始化工作,代码如下:PrivateSub_Load()初始化文本框控件Text1.Text=Text2.Text=EndSub394.frmAddCourse(增加课程)窗体的代码设计:(2)Command1_Click()(”确定”按钮)事件代码PrivateSubCommand1_Click()DimADOrsAsNewRecordset声明一个记录集对象DimstrSQLAsString与ADOcn连接对象关联ADOrs.A
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号