1重庆交通大学信息科学与工程学院设计性实验报告专业:计算机科学与技术班级:2015级4班学号:631507020418姓名:张再朝课程名称:数据库原理课程实验实验项目性质:设计性实验实验所属课程:《数据库原理B》实验室(中心):软件与通信实验室指导教师:王家伟实验完成时间:2017年11月25日总成绩教师签名2此页必须保留评分标准及成绩实验名称评分细则评分实验四报告表述的清晰程度和完整性(20分)概念模型的合理性(实验一内容)(10分)逻辑模型的合理性(实验一内容)(10分)功能合理性(20分)功能完善性(10分)个人体会(10分)实验二10分实验三10分总成绩总体实验要求:1排版要求标题用黑体四号,段前、段后距6磅(或0.3行);正文用小四号宋体,行距为1.5倍行距。报告必须生成目录,目录必须带页码。2设计报告需要打印,装订,1份/人,理论课考试时交设计报告。3各班学习委员收集每位同学做的成果,包含数据库的备份、程序源代码和运行配置说明,并将每位同学的成果拷贝到软件与通信实验室的教师机上。3第一部分实验四目录报告正文.................................................................4一、实验目的.........................................................4二、实验题目.........................................................4三、实验涉及仪器设备和材料清单(或软件).............................4四、实验原理.........................................................5五、实验内容.........................................................5六、实验步骤及代码分析...............................................6七、实验结果及分析...................................................8实验体会................................................................11实验二表查询...........................................................13一实验要求.........................................................13二实验结果.........................................................14实验三对象的建立与数据更新操作.........................................17一实验要求.........................................................17二实验结果.........................................................194报告正文一、实验目的1、掌握ODBC的概念并学习使用ODBC访问数据库;2、学习VisualC++下如何通过ODBC访问数据库;3、学习用VisualC++制作简单数据库应用程序的方法。二、实验题目某大学需要使用计算机管理学生信息、成绩信息等,要求如下:1、学生信息管理,包含学生的基本信息,如学号、姓名、性别、出生日期等;还要包含学生的简历、社会关系等;2、课程管理,包含整个学校开设的所有课程;3、教学计划管理,包含设定各系各专业在哪学期开设什么样的课程,学分是多少;4、学生选课管理,包含学生在某学期选择什么样的课程;5、学生成绩管理,包含学生各课程的成绩、是否补考、补考成绩;6、学生奖惩管理,管理学生在校期间所获得的奖励和惩罚记录。根据实验一的结果,完成设计。可以根据自己的实际情况实现一部分也可。三、实验涉及仪器设备和材料清单(或软件)操作系统:Windows10软件:VisualStudioProfessional2017,PowerDesigner15.1实现语言:C#开发平台:.NETFramework4数据库:SQLServer20145四、实验原理Microsoft推出的ODBC(OpenDatabaseConnectivity)技术为异质数据库的访问提供了统一的接口。ODBC基于SQL(StructuredQueryLanguage),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。ODBC的灵活性表现在以下几个方面:·应用程序不会受制于某种专用的API·SQL语句以源代码的方式直接嵌入在应用程序中·应用程序可以以自己的格式接收和发送数据·ODBC的设计完全和ISOCall-LevelInterface兼容·现在的ODBC数据库驱动程序支持55家公司的数据产品最新推出的ODBC3.0已经升级到32位,支持Win32。在C#中,提供了良好的数据库支持。输入数据源是遵循开放式数据库互接(ODBC)标准,还是微软的数据访问对象(DAO)标准,或OLE数据库(OLEDB)标准。ODBC功能在数据库管理系统,如MicrosoftAccess、Oracle或dBase的特定的驱动程序中实现。C#提供了一个ODBC驱动程序的集合;其他的可从经销商那里买到。实验中即利用ODBC接口来创建.NET下的数据库支持。五、实验内容1、建立概念模型62、利用PowerDesigner生成的SQL语句建立相关数据表3、利用C#进行相关软件开发六、实验步骤及代码分析查询部分:privatevoid查询课程ToolStripMenuItem_Click(objectsender,EventArgse){stringCommandString=select*fromCourse;try{OdbcDataAdapteradapter=newOdbcDataAdapter(CommandString,odbcConnection);DataSetds=newDataSet();adapter.Fill(ds);dataGridView1.DataSource=ds.Tables[0].DefaultView;odbcConnection.Close();}catch(OdbcExceptionex){MessageBox.Show(ex.Message);}}7录入成绩,利用数据源自动更新privatevoidbutton2_Click(objectsender,EventArgse){OdbcCommandBuilderocd=newOdbcCommandBuilder(adapter);try{adapter.Update(ds);}catch(Exceptionex){MessageBox.Show(ex.Message);this.Close();return;}MessageBox.Show(成功);this.Close();}更改成绩,利用数据源自动更新privatevoidbutton1_Click(objectsender,EventArgse){//dataGridView1.DataSource=null;ds.Clear();dataGridView1.Update();stringCommandString=select*fromScorewhereScore.CourseNo='+textBox1.Text+';try{adapter=newOdbcDataAdapter(CommandString,odbcConnection);adapter.Fill(ds);dataGridView1.DataSource=ds.Tables[0].DefaultView;odbcConnection.Close();}catch(OdbcExceptionex){8MessageBox.Show(ex.Message);}}privatevoidbutton2_Click(objectsender,EventArgse){OdbcCommandBuilderocd=newOdbcCommandBuilder(adapter);try{adapter.Update(ds);}catch(Exceptionex){MessageBox.Show(ex.Message);this.Close();return;}MessageBox.Show(成功);this.Close();}}七、实验结果及分析登录界面:9查询界面::增加界面:10修改界面:删除界面:11实验体会通过本次实验,我明白了数据库中的各种操作是怎么回事,这些操作有增加,修改和删除,基于这些操作,完成了学生信息管理系统。在用C#完成系统的过程中,重新回顾了高级程序设计语言编程的基本语法和思想,由此让我产生了许多学习的心得:在上理论课的时候,要把笔记做好,课堂上的重点内容需要记录下来,尤其是关于技术方面的知识,这些知识的贯通需要通过应用来实现,在实验的实践过程中把理论知识用起来,达到活学活用的目的。在完成了本次实验之后,我对于SQL代码的掌握更熟练了,而且对于C#语法的认识更深刻,在做出体现面向对象的程序的能力上,有所进步。12第二部分实验二、实验三目录实验二表查询.........................................................................................................................................13一实验要求..........................................................13二实验结果..........................................................14实验三对象的建立与数据更新操作...............................................................................................17一实验要求..........................................................17二实验结果..........................................................1913实验二表查询一实验要求根据给定的样例数据库pubs,完成以下查询操作。1、无条件查询1)查找pub库中authors表的全部信息。2)查找其他样例表中全部信息。2、简单条件查询1)查找titles表中全部书号及书名。2)查找titles表中价格在$15~18元之间的书的书名。3)查找titles表中书名以T开头的书号,书名。4)对其他样例表构造各种简单查询条件,进行查询。3、多条件查询1)查找书名起始字符为T,价格小于$16元的书名及价格。2)查找书名起始字符不为T的,价格大于$16元的书号,书名及价格。3)对其他样例表构造多个查询条件,进行查询。4、用连接操作(或嵌套查询)进行查询1)使用样例表titles,publishers进行查询:查找出版社的名称以及所出的书名。2)使用样例表authors,titleauthor,title