基于ado的电子图书采购管理系统的设计与实现_第1页
基于ado的电子图书采购管理系统的设计与实现_第2页
基于ado的电子图书采购管理系统的设计与实现_第3页
基于ado的电子图书采购管理系统的设计与实现_第4页
基于ado的电子图书采购管理系统的设计与实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

基于ado的电子图书采购管理系统的设计与实现

现有的图书管理系统在获取电子图书方面存在以下问题:电子图书的采购不能统一、分布和异构,以实现电子图书的统一采购和重新理解。电子图书不能进入数据库。无法对当前版本进行全面的统计分析。2嵌入式电子图书采购系统的主要功能和设计理念2.1系统功能模块嵌入式电子图书采购系统能较好地解决上述问题,其主要功能如下:(1)充分利用网络环境,实现不同平台、不同架构下的电子图书统一查重、分布验收。(2)对电子图书与纸质图书现状进行全面的统计分析,为采购决策提供已购图书的相关信息。(3)嵌入到图书管理系统,采购人员在电子图书采购时能够详细了解电子图书对应的纸质图书馆藏、借阅等信息,对借阅率高、复本数不足的纸质图书采购电子图书。(4)提供.txt、.xls、.dbf、.mdb等格式的数据导入、导出接口,方便书目数据的交换。(5)能够实现电子图书采购的流程化和自动化管理,促进电子图书采购业务从手工模式向自动化、数字化办公模式的转化。MELINETSⅡ作为现代电子化图书馆信息网络系统,其在处理纸质图书采购方面具有强大优势,但无法提供电子图书采购中的统一查重、分布验收等功能。因此,有必要基于MELINETSⅡ开发一套较完善的嵌入式电子图书采购系统,其功能模块如图1所示:嵌入式电子图书馆采购系统提供的功能包括:订单管理、数据管理、订购图书、订单验收、统计分析。数据管理包括数据导入和数据导出功能;订购图书包括图书查重和图书采购功能。2.2嵌入式电子图书采购系统的设计图书馆拥有的电子图书数据库分布在不同的服务器上,其后台数据库类型也不尽相同,因此系统在技术实现上需要解决三个关键问题:(1)数据分布:解决分布在不同服务器上数据库的连接。(2)系统异构:解决基于不同后台数据库下数据的读取、更新、写入。(3)数据同步:需要能够适应电子图书数据库的更新。解决思路:ADO是应用层级的数据访问模型,是建立在OLEDB之上的高性能的、统一的数据访问对象,但对Oracle的访问却受限于客户端,不利于基于Oracle的开发。ODAC是存取Oracle关系数据库系统的访问模型,用于免安装Oracle客户端的应用软件的开发。在网络环境中,通过ADO与ODAC对象连接分布、异构的电子图书数据库,再通过ADO与ODAC对象调用编写在后台数据库下的存储过程,解决数据异构下的同步,实现数据整合。嵌入式电子图书采购系统的流程设计如图2所示。嵌入式电子图书采购系统提供系统初始、定义订单、导入书目、图书采购、图书验收、统计分析等功能。(1)系统初始功能:通过调用存储过程读取EBOOK1、EBOOK2、……、EBOOKn表中已购电子图书书目信息写入到EBOOK中的ALLEBOOK表,形成已购电子图书总库。(2)定义订单功能:定义订单编号、订单名称、订单描述等信息,并保存到ACPMANAGER表中。(3)导入书目功能:把电子图书供应商提供的预购电子书目导入到电子图书订购表INPUTEBOOK中。(4)图书订购功能:对某一编号的订单按查重规则查重,更新INPUTEBOOK表中数据的查重标识位,形成去重后的可订购数据;在可订购数据中选购图书,选购时应结合对应的MELINETSⅡ中纸质图书的册数与借阅次数等信息;订购完成后生成MYRETABLE验收数据、报供应商订单数据。查重规则是:首先,将某订单下的INPUTEBOOK数据与ALLEBOOK数据中ISBN字段重复的订单数据去掉;其次,再将该订单下的INPUTEBOOK数据与MELINETSⅡ中ISBN字段进行比较,去掉MELINETSⅡ中该图书复本数超过2册以上且2年内借阅率低于10次的订单数据。(5)图书验收功能:读取MYRETABLE表中某订单下的ISBN字段值,把它与电子图书数据库中图书书目表的ISBN字段值对比,如ISBN在电子图书书目表中存在则表示图书已安装,并修改验收标识位,形成验收报告。(6)统计分析功能:对MELINETSⅡ与EBOOK中的图书数据进行整体统计、分析,并形成报表,供决策层参考。3嵌入式电子图书采购系统的实现3.1数据触发器创建(1)在MELINETSⅡ后台数据库Oracle10g下创建一个EBOOK方案,在EBOOK方案中创建表名,如图3所示:ACPMANAGER是订单管理表,用于保存用户订单的相关信息。ALLEBOOK是电子图书数据的总库表,用于保存已购电子图书书目数据。系统首次运行时,其“初始功能”会把各电子图书数据库中已购图书的ISBN、书名等信息读入到该表中,形成当前已购电子图书总书目;在“图书验收”功能中,系统把订单中已购电子图书信息写入到该表中,以保证图书书目数据的完整。INPUTEBOOK是电子图书订购表,用于保存订单书目数据。在INPUTEBOOK中,设置查重、订购、报送等状态位字段,通过查阅、统计状态位字段的值,能清楚地了解每条书目数据运行状态,轻松掌握订单订购进度。通过触发器生成表INPUTEBOOK的主键值,用于数据更新与索引。触发器创建实例如下:CREATEORREPLACETRIGGER“EBOOK”.”TRI_INPUTEBOOK_INID”BEFORE//数据更新前触发INSERTON“INPUTEBOOK”FOREACHROW//每插入一条记录都会触发一次beginselectTo_Char(Seq_INPUTEBOOK_ID.nextval)into:new.INIDfromdual;//生成唯一的INID值end;//Seq_INPUTEBOOK_ID为序列(2)在各电子图书数据库中创建MYRETABLE验收表,用于分布验收,如图4所示:EBOOK1、EBOOK2、……、EBOOKn分别表示电子图书数据库,MYRETABLE是创建在电子图书数据库内的验收表,该表中的ACPID字段保存用于订单ID;ISBN字段用于保存图书的ISBN;RESTATE字段用于保存图书的验收状态。系统在导出订单时,把INPUTEBOOK中订购状态与报送状态为True的数据的ISBN、ACPID值提交到MYRETABLE表中,验收时,采购人员通过统计MYRETABLE表中RESTATE字段的值,验收电子图书到书情况。通过语句来更新RESTATE值,如果验收状态值为1,表示电子图书已安装到库。其操作语句如下:UPDATEMYRETABLESETRESTATE=’1’WHERE(ACPID=’订单号’)AND(REPLACE(ISBN,’-’,’’)IN(SELECTREPLACE(ISBN,’-’,’’)FROM书目表))。REPLACE为函数,通过使用该通函数,去掉ISBN中的‘-’字符,确保ISBN不受‘-’字符的影响。3.2数据库的配置不同的电子图书数据库分布在不同的服务器上,其后台数据库也不尽相同,且受到图书馆业务发展与调整的影响,安装电子图书数据库的服务器IP变更的频率很高。如何使嵌入式电子图书采购系统灵活适应运行环境的变化显得尤为突出,系统通过引入配置文件的方式来解决。在嵌入式电子图书采购系统根目录下,手动创建Netdata.ini文件,用于设置数据连接参数,每一行代表一个数据库相关信息。在文件中第一行添加Oracle数据库信息,如:“9:1521:orcl”的字符串,9为服务器IP地址,1521为Oracle端口,orcl为服务名。第二行添加SQLServer数据库信息,如:9。其他数据库依次配置。(1)通过ODAC中的对象OraSession实现Oracle的连接。配置ODAC对象OraSession参数,实现对Oracle数据库的连接。连接配置如下:Memo1.Clear;//清空文本内容Memo1.Lines.LoadFromFile(GetCurrentDir+′/NETDATA.INI′);//读取NETDATA.INI文件内容到Memo1中ORCLSERVER:=Memo1.Lines.Strings;//读取NETDATA.INI第一行字符串OraSession1.Options.Net:=True;//使用TOraSession中的NET方式连接OraSession1.ConnectString:=′USERNAME/PWD@′+ORCLSERVER;//TOraSession连接字符串Orasession1.Server:=ORCLSERVER;//数据库服务器对象Orasession1.Username:=′USERNAME′;//登录数据的用户Orasession1.Password:=′PWD′;//登录数据用户的密码Orasession1.Connected:=True;//连接处于激活状态(2)通过对象TADOQuery中的ConnectionString值实现SQLServer的连接。连接配置如下:Memo2.Clear;//清空文本内容Memo2.Lines.LoadFromFile(GetCurrentDir+′/NETDATA.INI′);读取NETDATA.INI文件内容到Memo2中Serverip1:=Memo1.Lines.Strings;//读取第一个SQLServer服务器的IP地址ADOQuery1.ConnectionString:=′Provider=SQLOLEDB.1;Password=ssreader123;PersistSecurityInfo=True;UserID=ssreader;DataSource=′+serverip1;//连接SQLServer数据库Memo1,Memo2为Memo类,用于读取Netdata.ini文件中的内容。其他数据库依次通过读取文件Netdata.ini中的数据库参数实现连接。3.3电子图书存储过程环嵌入式电子图书采购系统需要读取及处理分布、异构环境下的图书数据,它们的后台数据库不尽相同,且数据更新的频率很高。为了适应环境的变化,系统应通过修改存储过程来完成自身的更新,减少对程序的依赖,提高软件的适应性和可靠性。存储过程是已经编译好、并经过优化的放置于数据库服务器端的SQL语句,可供应用程序直接调用。(1)当电子图书数据库版本更新时,只需修改电子图书数据库下的存储过程,软件部分不需要进行修改。(2)存储过程利用高性能数据库服务器的处理能力,使得SQL语句的执行加快,执行完毕后仅返回执行结果,有效减少网络的通信流量,提高了分布、异构系统的工作效率。在Delphi7.0中,利用ODAC中的OraStoredProc组件调用Oracle数据库中的存储过程,利用ADO中的TADOStoredProc组件调用SQLServer数据中的存储过程。4查重结果显示,u3000论基于MELINETSⅡ嵌入式电子图书采购系统,整合了超星电子图书、书生之家电子图书、方正Apabi电子图书的数据信息,共享了MELINETSⅡ纸质图书的馆藏、借阅信息,实现了合理科学地采购电子图书。(1)工作中能够查重并去掉订单中大量重复的电子图书数据,便于采购人员选购图书。订单查重后状态栏显示内容如图4所示:在“电子图书查重”功能中,系统状态栏中显示查重结果,查重电子图书47785册,其中重复6151册。由此可见,某订单中的电子图书重复率高达12.8%。(2)通过嵌入MELINETSⅡ,详细列出电子图书对应的纸质图书馆藏、流通等信息,为采购人员采购电子图书提供参考。电子图书订购操作界面如图5所示:在“选择订购订单”中选择编号“001”,订单名称为“超星电子图书综合类”,点击“订单浏览”按键,该订单下去重后的数据会在“未重电子图书”栏中列出,供订购使用。在“未重电子图书”数据中双击ISBN为“978-7-302-14984-2”图书,操作界面的右侧“详细信息”处会显示出该电子图书对应的MELINETSⅡ纸质图书有6册、借阅61次等信息,点击“订购”按钮,完成对该种电子图书的采购。(3)能够对MELINETSⅡ和EBOOK中的图书信息进行统计及分析。统计分析结果如图6所示:在“统计分析功能中,中文图书的统计条件为:订购日期限定在2008年1月1日-2009年1月1日,索书号位数为1位。点击“开始统计”后,系统会在“表格显示”栏中显示统计结果,状态栏中显示汇总中文图书总种数:37561。(4)充分利用自动化、网络化、数字化条件,实现电子图书采购的流程化和自动化管理,提高采购效率。5文明分类采购。u3000对于纸质图书与纸质图书的分在文献资源采购工作中,通过使用嵌入式电子图书采购系统:(1)实时掌握电子文献资源的采购进度,科学安排电子文献采购工作。(2)嵌入MELINETSⅡ,通过采购借阅率高的纸质图书所对应的电子图书,解决纸质图书借阅人多而复本数不足的矛盾。(3)动态统计分析各学科门类图书的采购数量在总采购量中的比例,避免盲目采购。嵌入式电

温馨提示

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

评论

0/150

提交评论