《-学籍管理系统设计学士学位论文.doc》由会员分享,可在线阅读,更多相关《-学籍管理系统设计学士学位论文.doc(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要摘 要随着计算机技术的飞速发展和教育体制改革的不断深入,传统的学籍管理方法和手段以及工作效率己不能适应新发展的需要,无法很好地完成对学生的管理工作。未来的学校管理模式对教务管理工作提出了更高的要求,尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为学校教务管理部门有待解决的课题之一。本文对学籍管理系统所需完成的任务及设计进行了系统分析,并对计算机硬件和软件解决方案进行了论证,对应用领域进行调查分析。简要介绍了开发本系统所需的软件技术。本学生学籍管理系统是一套基于B/S(浏览器/服务器)结构的管理系统,采用ASP+Access技术设计与开发学生学籍管理系统,并介绍了Access20
2、00数据库系统的开发平台。系统运行于服务器端,客户端只需安装有浏览器即可使用本系统。本系统使用一台专门的计算机作为数据库服务器,其他的计算机可以远程对数据库进行访问,并可以自主的对数据库进行增加、删除、修改等等的数据库操作。本系统包含学生信息管理、学生成绩管理、考试管理和用户管理四个功能模块。本文设计的数据库系统实现了学生管理,学生信息管理和系统管理等方面的功能。本系统用户界面友好,基本满足了学校对学生学籍信息进行管理的需求。本系统降低了人工劳动并增加了信息的准确性。关键字:学籍管理;Access2000;B/S;管理系统;功能模块I第一章 绪论Abstract The traditional
3、 methods and approaches of students official file administration have not completely met developing requirement as the full development of computer technology and the education system reform. It limits the working efficiency of students administration. Nowadays school administrative mode requires im
4、prove the working of educational administration to promote the traditional administrative mode, thus one item of school educational administration is sciential administration applying modern technology.The paper introduces the task of the Students Data Management System ,analyze its system ,demonstr
5、ate resolve both hardware and software ,and diagnoses application .Then ,the paper introduces the techniques that are required for the system .The management system is based on B/S frame, utilize ASP and Access for developing program ,moreover ,the paper introduces developing stage for the Access200
6、0 database techniques .The system runs in server computer .And client can use this system if it has browser .The system use a special computer for data server ,other long-distance computers can visit the data ,and may add ,delete ,amend information in the data .This system includes modules: informat
7、ion management, score management ,examination management ,and user management and the SDMS achieve them .The systems interface is good for user, it satisfy requirement for school administer .The system reduces manpower and enhances informations veracity.Keywords:administration; Access2000;B/S;Manage
8、ment System; Function component49电子科技大学成都学院本科毕业设计论文第一章 绪 论11.1课题背景11.2系统设计的目的和意义1第二章 系统需求分析22.1 需求分析22.2功能定位22.3设计目标3第三章 系统技术简介与分析43.1系统开发的前提要求43.2系统设计模式43.2.1 B/S结构的特点43.2.2选择B/S结构的原因53.3系统运行环境63.4数据库开发工具Access 2000简介73.4.1 Access数据库的六种对象73.4.2关系数据库简介73.5 ASP介绍(Active Server Pages)83.6创建和配置ODBC数据源9
9、3.6.1ODBC简介93.6.2ODBC的架构103.6.3.依据ODBC的规格,其界面共可分为以下九类界面函数113.7 ADO访问学籍管理系统的设计133.8操作系统WINDOWS 2000 SERVER概述133.8.1 WINDOWS 2000 SERVER特性143.8.2其他网络特性143.9关键技术数据读取Recordset14第四章 系统总体结构和数据库设计154.1学籍管理系统的处理流程图154.2软件总的功能模块组成164.2.1功能模块174.2.2部分功能模块说明204.3系统总体模块图214.4数据库设计224.4.1系统功能划分224.4.2系统功能的描述224.
10、4.3学生学籍管理系统数据流程图表分析234.5数据库概念结构设计284.6数据库逻辑结构设计304.7网络架构31第五章 系统功能模块设计与实现325. 1学生信息管理模块325.1.1录入学生信息(如图5.3)335.1.2查询学生信息(如图5.4所示)335.1.3修改/删除学生信息(如图5.6)345.1.4打印学生信息(如图5.7)355.1.5班级管理(如图5.8)355.2学生成绩管理模块355.2. 1录入学生成绩(如图5.11)365.2.2查询学生成绩(如图5.13和5.14)375.2.3修改/删除学生成绩(如图5.16)375.2.4打印学生成绩385.2.5计算总分与
11、排名(如图5.22)405.2.6目标分管理405. 3考试管理模块415. 4用户管理模块42第六章 系统测试446.1系统测试方法446.2测试方案446.2.1测试项目446.2.2测试项目说明456.3测试结论47第七章 结束语48致 谢49参考文献50第一章 绪 论1.1课题背景计算机的诞生,将人类科技带入一个新纪元,近年来,网络技术的发展速度更是超出人们的想象。现在各个部门、行业都进入这条方便的通道,当然教育也不例外。随着计算机技术的飞速发展和教育改革的不断深入,传统的学籍管理方法和手段以及工作效率已不能适应新的发展的需要,无法很好地完成学生的管理工作。随着学校规模的不断扩大,学生
12、数量的急剧增加,教务处管理的内容也是越来越多,原本滞后的管理体系已不能满足信息化发展的需要了。面对庞大的信息量,就需要有学生信息管理系统、以及对学生考试成绩的登统系统来提高管理工作的效率。未来的学校管理模式对教务管理工作提出了更高的要求,尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为学校教务管理部门有待解决的课题之一。1.2系统设计的目的和意义学校的学籍信息管理是学校的一项重要的数据资源,学籍管理也是学校的一项常规性的重要工作。而长期以来,学籍管理都是依赖人工进行的,面对如此众多的学籍信息,其工作量可想而知。不仅仅浪费了大量的人力物力资源,而且由于人工管理存在大量的不可控因素,造
13、成了学籍管理的某些不规范,使得学籍管理陷入“事半功倍”的地步。学籍管理系统不但能使教务人员从繁杂的学籍管理任务中解脱出来,而且对于推动教学的发展也起到了非常重要的作用!目前很多学校对教务管理的现代化进程已提高到一定的认识高度,设计一套现代化的教务管理系统也是很多学校目前急需解决的一项课题,如何运用信息化手段,合理利用资源,代替繁琐的人工操作,并且有利于实现资源的共享、合理调度及有效利用,从而达到节省人力资源、物质资源和时间资源,提高管理功效,成为校园信息化建设的焦点问题。众所周知,在学校诸多的事务中,对学生的信息管理已是教务管理的一个重点和难点。因此,建立一个完整统一、技术先进、高效稳定、安全
14、可靠的学生学籍管理系统已迫在眉睫。学籍管理系统,可以做到对信息的规范管理、科学统计和快速查询,从而能够方便学生对信息的查询,教师对学生的管理,以及每学期对学生考试成绩的登统等等,大大减少了教务人员的工作量,规范了学校的管理,实现了无纸化办公。本系统正是利用这一思路将学生成绩学籍管理纳入计算机管理并设计为多用户,放在计算机网络上运行。第二章 系统需求分析第二章 系统需求分析2.1 需求分析随着大中学教育改革的不断深化,学校规模的不断扩大,原有的手工录入或单机版的学籍管理系统已经不能满足现代化的教育理念,和现代化的教育管理模式。高效、实用和操作简捷的网络版学籍管理系统是中学学籍管理模式的一种探索,
15、本系统的设计对象是针对高中校的教务常规管理,通过对几所高中学校的需求调研,了解到目前学校对学生管理提出的需求主要包括以下几个方面:(1) 学生信息管理:这是目前学校管理中问题最多也是最急需解决的一个问题。现在高中校建设的重点是示范校和重点校,对普通校的合并和重新划分使得学校规模越来越大,学校生源越来越多,传统的学籍管理的方法存在效率低、更新慢、不方便查询等缺点,所以单机版的纯数据库模式的学籍管理方式亟待改进,一款界面友好、操作方便的多用户学籍管理系统正是本次设计的重点。(2) 学生成绩管理:每个学期末的学生考试成绩登统是任课老师和教务人员所面临的又一大难题。一张张表格的计算,各科成绩和各个学生
16、的成绩汇总和排名,都是相当枯燥和繁琐的,容易出错不说,如果想要查找某个班级的某个学生的某门成绩,就更是复杂而困难了。所以学校希望系统能够方便队学生成绩进行登统的同时,也能够对学生成绩进行随时地横向和纵向查询。(3) 学生跟踪管理:学校的每名学生从入校注册开始,学校就希望能对其每个学期的考试成绩进行跟踪管理,这样在学生毕业时,可以了解学生在校的基本情况。本系统就要求能够随时方便的查询每个学生的基本信息和在校期间的各个学期的考试成绩,以方便对学生的管理。2.2功能定位 考虑到高中校的教务管理的重点是对学生的信息进行管理以及对每学期末的考试成绩的登统的管理,所以对本系统设计功能定位主要也是对学生的信
17、息管理和考试成绩管理。另外根据学校的实际情况和面对用户的特点,本系统设计功能要满足以下几方面要求:(1) 信息录入:系统设计是希望替代原有的手工录入和重复录入现象,尽量减少使用者的录入工作量,所以应该以最简洁最高效的方式进行信息的登记,减少重复性工作。比如在学生的成绩登记时,用户只选择班级和考试科目,就可调出全班学生的名单,直接录入成绩就可以了,或者通过学号调出学生,登记其各科考试成绩,考试科目可以在考试管理模块进行设定。(2) 信息查询:系统区别于原有工作模式的主要特点就是支持多用户的多任务的实时查询,根据用户登录的身份,设置不同的权限,可以对不同内容进行查询。例如学生不需要登录就可以查询自
18、己的各科考试成绩等。另外系统支持横向和纵向查询,例如可以通过学号或姓名查询某个学生在校期间的所有信息和考试成绩,也可以通过班级查询某个班级的全部学生的信息和某门考试的成绩。(3) 信息管理:能够对已有信息进行实时修改也是体现智能化管理系统的特点之一。本系统应该能够实现对信息的修改和删除,在每个功能模块中都应该支持此项功能,这也是系统设计必不可少的一项任务。(4) 用户界面:考虑到系统设计面向用户是学校的全体老师和学生,所以系统的界面设计一定要做到美观实用,精美与高效兼顾。网页设计体现学校形象,在框架编排、色彩搭配,使整个页面不可让人感觉浮躁、炫目。2.3设计目标(1) 按照国家教委提出的“存得
19、进、取得到、跑得快、不篡权、能共享”校园信息化建设思想,旨在将校内原先以手工操作的教学管理提升到信息化共享的校园网应用平台上,并能及时、准确、可靠地采用和传输信息。(2) 基于B/S模式网络学生学籍管理系统,主要实现对学生学籍的管理,包括信息的录入/修改/删除,成绩的录入/修改/删除,自动计算总分及排名,添加/修改/删除考试信息,添加/删除考试科目和添加/修改/删除用户等功能。(3) 安全可靠,用户权责分明。根据用户权限的不同提供不同的信息处理权。例如,作为普通学生在不登录的前提下,只可以在线查询考试成绩等。第三章 系统技术简介与分析第三章 系统技术简介与分析3.1系统开发的前提要求 开发该软
20、件的基本要求与功能是实现学生信息数据包括与学生有关的数据的管理与操作处理,基于Microsoft ACCESS数据库系统的数据管理使该软件有更优异的性能。软件的基本数据流动为用户数据的输入,学生信息,课程信息,班级信息的输入,以及有关用户提出的对学生信息等等的查询要求所产生的数据输出。数据的输入与输出处理流程都依靠数据库的支持。ACCESS的安全性能比较令人满意,该软件设计中保持与其他一些数据库的基本兼容。3.2系统设计模式 随着学校基础设施的逐渐完善,网络应用的逐步展开,设计开发基于网络的学籍管理系统是必要和可行的。目前,网络应用软件运行的模式主要有两类:C/S(客户机/服务器)模式与B/S
21、(浏览器/服务器)模式。由于传统的C/S网络应用系统模式在开发性与信息的发布、交流等方面存在很大的局限性,现在,B/S网络结构模式作为传统C/S模式的扩展,为学校的信息化建设提供了崭新的技术手段。所以本人选择了B/S模式作为系统开放模式,下面具体阐述原因。3.2.1 B/S结构的特点 采用B/S模式在开发方面只针对Sever端系统开发,而客户端采用通用的浏览程序,无需单独开发客户端程序;也就是说用户不需另外安装一套客户端程序,利用客户端的浏览器便可以浏览到应用系统的运行结果,这样也使得系统开发工作更方便更集中。B/S模式在维护方面,因为只需要对Server端进行维护,而C/S模式,则还要对客户
22、端进行维护,而客户端越多,维护投入的人力物力也大,而且客户端的维护管理也是一项很繁杂的工作;相比较而言,B/S模式系统运行成本不会随企业规模的膨胀而膨胀,这样使得企业运营成本得到了有效控制。( 1) B/S模式的优点 系统开发、维护和升级的经济性:B/S模式所具有的框架结构可以大大节省软件开发、维护与升级的费用,同时,B/S模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪费。B/S模式提供了一致的用户界面:B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。B/S模式具有很强的开
23、放性:在B/S模式下,外部的用户亦可通过通用的浏览器进行访问。B/S模式的结构易于扩展:由于Web的平台无关性,B/S模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。B/S模式具有更强的信息系统集成性:在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。 B/S模式提供灵活的信息交流和信息发布服务:B/S模式借助因特网强大的信息发布与信息传送能力可以有效地解决企业、高等院校内部的大量不规则的信息交流。(2) B/S模式的工作原理 基于因特网的网络管理系统是以Web为中心,采用TCP/IP,
24、 HTTP为传输协议。当客户端运行浏览器软件,浏览器则以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库,数据库得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。如图3-1所示。 图3-1 B/S模式工作原理3.2.2选择B/S结构的原因 (1)结构方面:C/S软件一般采用两层结构,而B/S采用三层结构,这两种结构的不同点是两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只
25、是简单地接收用户的请求,显示最后的结果。由于三层结构中的客户端并不需要参与计算,所以对客户端的计算机电脑配置要求较低。(2)处理模式方面:B/S的处理模式与C/S相比,大大简化了客户端,只要装上操作系统、网络协议软件以及浏览器即可,大大减少了对客户端机器的软硬件要求。(3)系统维护方面:系统维护是在软件生存周期中开销最大的一部分。C/S程序由于其本身的整体性,必须整体考察并处理出现的问题。而B/S结构,客户端不必安装及维护,开发和维护工作都集中在服务器端。当需要升级时,只需更新服务器端的软件,而不必更换客户端软件,实现系统的无缝升级,这样就减轻了系统维护和升级的成本。3.3系统运行环境 1、运
26、行环境软件基本运行环境为Windows环境。 2、条件与限制 由于系统较小,且在windows系统下开发,故在windows环境下基本没有什么限制。 3、数据精确度 由于采用数据库技术并且用户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。 4、时间特性本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。5、适应性xp系统下完成的所以只要是兼容windows的软件或是操作系统,该软件都可以正确地运行,
27、有较好的适应能力与兼容性。而且应用户的特殊需求软件在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。6、运行需求1)用户界面系统运行时的主界面大致要求为windows的经典运行界面,主界面可以是SDI(单文档界面)即每个窗体之间是独立的,也可以是MDI(多文档界面)有一个主窗体,可以包含其他窗体。建议本系统采用多文档界面,这样可以使程序更加美观,整齐有序。2)硬件接口软件较小除硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与光盘刻录机的接口,这点较易实现。3)软件接口 在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与
28、较常用的办公软件的接口。例如microsoft的office系列。另外用户还有用户所需要的软件接口,这些应在用户需求定义时明了。4)故障处理考虑到软件的范围不大,所以故障处理一般由操作系统完成,系统只要保持与操作系统的接口即可。只要操作系统没有大的故障程序一般是比较稳定的。考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能,这点在数据库软件中已经达到了,只要稍微在其上再增加用户所需要的附加功能即可。7、其他需求系统保证了较好的可使用性与数据的安全保密性,但由于系统较小只保留一定程度的可移植性,可维护性。3.4数据库开发工具Access
29、2000简介本系统采用Microsoft公司的Access 2000作为数据库开发工具,Office套件中一部分的Access,有着同样强大的功能。Access数据库管理系统是Microsoft Office套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。Microsoft Access是一种关系式数据库工
30、具,关系式数据库是已开发的最通用数据库之一。关于关系数据库,本文将在下文进行说明。Access是由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。因此,
31、Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。要注意的是Access数据库以文件形式保存,文件的扩展名是MDB。3.4.1 Access数据库的六种对象 1.表(Table):表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。 2.查询(Query):查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。 3.窗体(Form):窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。 4.报表
32、(Report):报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。 5.宏(Macro):宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。6.模块(Module):模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。3.4.2关系数据库简介这里所说的关系型数据库,主要是指能够支持企业级应用的关系型数据库管理系统。比如Access,SQL Server,Oracle等。关系型数据库的主要特点有以下几个方面:1.能够保证数据的完整性.否则,存储在Acc
33、ess 2000数据库中的数据就是毫无价值的。关系型数据库系统包括许多特性,目的是阻止不符合要求的数据库进入数据库。2.关系型数据库系统是一个便于修改的系统。3.在文件系统中,相同的数据常重复出现在许多个文件中,而关系型数据库系统则会排除大多数的冗余数据,这就减少了对存储空间的需求,加快了数据访问的速度。4.应用程序可以通过多级的安全检查来限制对数据的访问。3.5 ASP介绍(Active Server Pages)ASP技术主要采用脚本来进行服务器端的处理,同时可以将脚本的结果嵌入到页面中,对于Web开发人员来说,只需编写相对简单的脚本程序,就可以完成Web引用程序的开发。目前ASP技术中使
34、用的脚本语言主要是VBScriPt和JavascriPt语言,它不需进行很大的修改就能直接应用于服务器端。Active Server Pages是Microsoft 1997年推出的建立高级网站的方案。今天Internet上运行的很多大型的、技术要求极高的商业网站都是由ASP构建的。ASP页面中的脚本是解释运行的,它的实现过程是这样的,假设用户在浏览器的地址栏中键入http: /图3-2 ASP工作原理 特别是,当用户看到页面结果时,尽管地址栏中显示是仍然是.asp文件的URL地址,但是查看页面源代码时显示的是ASP脚本运行后的结果,换句话说,写在.asp文件中的脚本是不会出现在HTML页面中
35、的,因而不会泄露程序的源代码,这是服务器端脚本同客户端脚本最大的区别。 以下罗列了ASP所独具的一些特点: (I)使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。 (2)无须编译,容易编写,可在服务器端直接执行。 (3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 (4)与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript , JavaScript)均在Web服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 (5)内置功能强大的
36、对象和组件。这使开发人员能够利用它们快速地建立功能强大的Web应用程序。 (6) ASP的源程序,不会下载到客户浏览器,因而可以避免所写的源程序被他人到窃,也提高了程序的安全性。 (7)使用ADO(ActiveX Date Objects)数据库访问技术,使得访问数据库变得易如反掌。 由此可以看出,ASP是在IIS ( Internet Information Server)服务器PWS(Personal Web Server)上使用,来开发Web应用的一种简单、方便的编程工具。US集成了Microsoft的组件技术、安全管理、数据库访问等多方面的先进技术,它支持多种服务器端Web程序开发技术
37、,最值得称道的就是在IIS中使用的ASP了。在了解了JavaScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。3.6创建和配置ODBC数据源3.6.1ODBC简介ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC是Op
38、en Database Connectivity的缩写,是MicroSoft提出的数据库访问接口标准。ODBC定义了访问数据库的API一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言(但是MicroSoft的ODBC文档是用C语言描述的,许多实际的ODBC驱动程序也是用C语言写就的。)ODBC规范后来被X/OPEN和ISO/IEC采纳,作为SQL标准的一部分,具体内容可以参看ISO/IEC9075-3:1995(E)Call-Level Interface(SQL/CLI)等相关的标准文件。ODBC现在看来是一个比较古老的东西,在1996年左右就比较定型了,其最新的版本是3
39、.52,MicroSoft也不打算对它做什么大的更新,更多的目光应该被放到OLEDB、.NET DATA PROVIDER身上了。然而,正因为它是一个比较成熟和古老的规范,ODBC在大多数DBMS上都做可以使用,可以说一个像样的DBMS都应该支持ODBC 3.0或以上的版本。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是SQL Server、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。开放数据库互连(O
40、DBC)是Microsoft引进的一种早期数据库接口技术。它实际上是我们要在本章后面加以讨论的ADO的前身。Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问DBF文件或Access Basic以得到MDB文件中的数据时,无需懂得Xbase程序设计语言。事实上,Visual C+就是这样一个程序设计平台,即Microsoft最初是以ODBC为目标的。ODBC工作起来和Windows一样,它用包含在DLL内的驱动程序完成任务。其实,ODBC提供一套两个驱动程序,一个是数据库管理器的语言,另一个为程序设计语言提供公用接口。允
41、许Visual C+用标准的函数调用经公用接口访问数据库的内容,是这两个驱动程序的汇合点。当然,还有其它和ODBC有关的实用程序类型的DLL。ODBC能履行承诺,提供对数据库内容的访问,并且没有太多的问题。唯一影响ODBC前程的是,它的速度低,至少较早版本的产品是这样。ODBC最初面世时,因为速度问题,在数据库领域产生了一些影响。然而,以Microsoft的市场影响力,如今只要有两种ODBC驱动程序的一种,那么几乎每一个数据库管理器的表现都会很卓越。3.6.2ODBC的架构(1)应用程序(Application)应用程序对外提供使用者交谈界面,同时对内执行资料的准备工作和调用ODBC程序函数,
42、传送SQL指令以及接收数据库系统所传回来的结果再显示给使用者看。简单来说,应用程序藉ODBC界面执行下列主要工作:a)Request a connection(i.e.session)with a data source.b)Send SQL requests to the data source.c)Define storage areas and data formats for the result of SQL requests.d)Request results.e)Process errors.f)Request a commit or rollback of operations
43、 for transcation control.g)Terminate a connection a data source.(2)驱动管理员(Driver Manager)驱动管理员本身是MS Windows中一个动态连接链接库文件(ODBC.DLL)。应用程序透过驱动管理员去加载并连结资料来源的驱动程序(driver)并连接资料来源。驱动管理员主要工作如下:a)Uses ODBC INI file to map a data source name to a specific driver DLL.b)Processes server ODBC initalization calls.c
44、)Provides entry points to ODBC functions for each driver.d)Provides parameter validation and sequence validation for ODBC calls.(3)驱动程序(Driver)驱动程序也是一个动态连接链接库文件,当应用程序调用ODBC函数SQLConnect或SQLDriverConnect时,驱动管理员就会加载相对的驱动程序与应用程序呼应。驱动程序主要是执行ODBC之相对函数,并与对应之资料来源做沟通。驱动程序之工作如下:a)Establishes a connect to a da
45、ta source.b)Submits requests to a data sources.c)Trnslates data to or from other formats,if requested by the application.d)Return results to the application.e)Formats errors into standard error codes and returns them to the application.f)Declares and manipulates cursors if necessary(invisible to the
46、 application).g)Initiates transactions if the data source requires explicit transactioninitiation(invisible to the app).(4)资料来源(Data Source)资料来源于数据库系统(DMBS)或是数据库操作系统的一个组合。开发过程中不需指定特定的数据库系统,所以数据库系统的开放性从此被建立。在计算机系统进入开放时代之时,我们应该体会到标准的建立与系统的发展是同样的重要。而信息系统架构在数据库的必要性也随着信息化社会的蓬勃发展而更显重要,因此在ODBC标准日益成熟的同时,我们也
47、同时可以感受到数据库系统在开放架构下,更须扮演强而有力的角色。3.6.3.依据ODBC的规格,其界面共可分为以下九类界面函数1)连接资料来源(Connecting to a Data Source)a)SQLAllocEnv.b)SQLAllocConnect.c)SQLConnect.d)SQLPriverConnect.e)SQLBrowseConnect.2)取得驱动程序及资料来源的相关讯息a)SQLDataSource.b)SQLGetInfo.c)SQLGetFunctions.d)SQLGetTypeInfo.3)设定及取得驱动程序的选项a)SQLSetConnectOption.b)SQLGetConnectOption.c)SQLSetStmtOption.d)SQLGetStmtOption.4)准备SOL指令之需求