已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PowerBuilder课程设计系 部: 专 业: 姓 名: 班 级: 学 号: 指导老师: 2011年6月课程设计摘要人工的图书管理都显得十分的落后而且效率低下,尤其在查询方面效率低。为了适应现代化的环境,许多的管理事务都由电脑来管理,从而提高了管理的速率。本次设计就是针对现存以上的各种缺点,将在现有的管理软件的基础上作很大程度的改善,使图书管理系统能够快捷的实施一些管理功能。 基于 WINDOWS XP开发研制,该系统软件针对图书的服务范围及工作特点,设计了新书入库模块、旧书报废模块、图书检索模块、读者查询模块、读着注册模块、借书还书模块和等。它能使工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高图书的管理效率及服务质量。 该系统为单机版,相应的硬件设备也分为单机型的方案。适用于各个图书的信息管理。本系统基于好用、易用、美观的原则为用户定制了一套统一的人机界面。在此设计中,主要的技术有:PowerBuilder9.0的数据库应用,以及各控件的使用等。关键字:图书管理、WINDOWS XP、模块、PowerBuilder9.0的数据库应用。目录第一章 绪论31.1 概述31.1.1 设计思想31.1.2 系统需求分析31.2 数据库种类选择41.3 程序语言简4第二章 系统分析62.1 系统结构组成62.2 系统中各模块的功能6第三章 数据库设计83.1 创建数据库83.2 连接数据库93.3 数据库中表的结构设计9第四章 系统设计114.1 界面的设计114.1.1 登录窗口的设计114.1.2 新书入库口界面设计124.1.3 旧书报废界面设计134.1.4 图书证注册界面设计134.1.5 图书证注销界面设计154.1.6 图书查询界面设计154.1.7 读者查询界面设计174.1.8 借阅管理界面设计184.1.9 还书管理界面设计204.2 菜单设计21第五章 总结及致谢22参考文献23第一章 绪论1.1 概述1.1.1 设计思想图书管理系统是以业务处理为基础,以客户为中心,以减少人力物力,提高工作效率为目标的信息系统,超越了传统的图书管理系统概念,提高了运营水平、建立高效率工作效率。图书管理系统是整个图书办公系统的重要组成部分,具有快速查找图书和管理图书,读着信息等功能。提供了读者管理,图书管理等自动化管理的功能,从而实现了图书管理的自动化。主要提供了读者图书证的办理、以及注销功能;图书的新书入库、旧书报废功能;图书的查询功能,包括按图书编号、按图书名称进行查询等;读者的查询功能,包括按读者证号、按读者姓名进行查询等;读者对图书的借阅和归还功能。图书管理系统应当具备以下基本性能:提供完善而方便的数据输入手段,以便全面、正确、及时地录入各种原始数 据,并将它们转化为系统所需要的形式。在录入过程中对数据的合法性进行必要的校核,拒绝非法数据进入系统。屏幕输出应尽量满足使用者的要求,直观醒目,简单易学,界面友好清晰,合乎使用习惯。用户输入错误时能有相应的提示 。结构简单明了,层次清楚,便于管理,易于扩充。便于用户查找相关的图书信息,并查看相关图书信息的详细信息。1.1.2 系统需求分析图书管理系统是基于Windows操作系统基础上,通过对大量的图书馆管理系统的研究和分析并结合对图书信息管理进行分析提出来的。对原有图书信息管理的非图形界面操作以及原有功能不强的数据库系统的不稳定性、不可扩充性、难以移植等,原有系统功能覆盖面不广等缺陷相应提出了一些要求。1、系统以功能强大的Windows系列操作系统作为操作系统平台,使其具备优良的可视化图形操作界面,大力提高系统的可操作性和交互性尽量减少操作员的负担,让他们更方便、更快捷、更简单的进行操作。2、提高系统的可维护性。系统的数据要求能随时进行备份与恢复,基于图书管理系统的局限性这里就不要求数据能与其他数据库进行交流(及共享数据)。1.2 数据库种类选择PowerBuilder是优秀的数据库前端开发工具,能与各种数据库相连接,可以与本地数据库相连,也可以与数据库服务器构成C/S体系结构,还可以与应用服务器,数据库服务器构成B/S体系结构。PowerBuilder作为一种数据库应用程序的开发工具,一般访问的是后台服务器上的大型数据库。但是PowerBuilder自身也带有本地的数据库管理系统SYBASE SQL ANYWHERE,该数据库可以直接移植到网络环境下运行的其他数据库中,并且该系统创建简单,易学,而且可以与PowerBuilder运行在同一台计算机上,利用它我们可以创建本地的数据库,由于利用ODBC接口来实现应用程序和远程数据库或本地数据库的连接在操作上并没有太大的区别,所以本系统面利用PowerBuilder自带的数据库管理系统SYBASE SQL ANYWHERE来创建本地数据库。1.3 程序语言简介PowerBuilder是著名的数据库应用开发工具生产厂商PowerSoft公司推出的产品(PowerSoft现已被数据库厂商Sybase所收购),它完全按照客户机/服务器体系结构研制设计,在客户机/服务器结构中,它使用在客户机中,作为数据库应用程序的开发工具而存在。由于PowerBuilder采用了面向对象和可视化技术,提供可视化的应用开发环境,使得我们利用PowerBuilder,可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。其主要特点如下: (1) 可视化、多特性的开发工具。全面支持Windows或WindowsNT所提供的控制、事件和函数。 PowerScript语言提供了几百个内部函数,并且具有一个面向对象的编译器和调试器,可以随时编译新增加的代码,带有完整的在线帮助和编程实例。 (2)功能强大的面向对象技术。支持通过对类的定义来建立可视或不可视对象模型,同时支持所有面向对象编程技术。(3)支持高效的复杂应用程序。对基于Windows环境的应用程序提供了完备的支持,这些环境包括Windows、WindowsNT和WinOS/2。开发人员可以使用PowerBuilder内置的Watcom C/C+来定义、编译和调试一个类。 (4)企业数据库的连接能力。PowerBuilder的主要特色是DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。 (5)强大的查询、报表和图形功能。PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象,并把查询结果作为各种报表的数据来源。 PowerBuilder主要适用于管理信息系统的开发,特别是客户机/服务器结构。PowerBuilder一个很大的特点就是提出了数据窗口对象的概念。数据窗口对象也是PowerBuilder中的一种对象类型,与其它对象不同的是数据窗口对象是专门为了访问后台的数据库服务的,在数据窗口对象中我们定义了数据的来源和数据的显示风格,这样在应用程序中我们就可以把精力完全放在程序的运行流程控制上,而不用关心具体数据的来源,因为我们在数据窗口对象中已经定义好了数据的来源。如果需要使用数据库中不同的数据也只要对数据窗口对象进行修改就可以了。特别要指出的是PowerBuilder在数据窗口对象中提供了丰富的数据显示方式,可以满足各种不同需要。PowerBuilder是一种面向对象的开发工具,各种WINDOWS应用程序中常见的窗口、菜单、控件等在PowerBuilder中都是一个个的对象。在PowerBuilder中我们还可以创建自己的用户对象。特别要指出的是PowerBuilder提供了对面向对象方法中的各种技术的全面支持,我们可以利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发的应用程序具有极大的可重用性和可扩展性,而这一点正是软件工程中对应用程序所提出的重要目标。PowerBuilder使用的编程语言叫做PowerScript,也是一种高级的,结构化的编程语言。PowerScript提供了一套完整的嵌入式SQL语句,开发人员可以像使用其它语句一样自由使用SQL语言,这样就大大增强了程序操纵和访问数据库的能力。可以说PowerBuilder既适合初学者快速学习数据库的开发,又可以让有经验的开发人员开发出功能强大的数据库,是一种适用面非常广的开发工具。第二章 系统分析2.1 系统结构组成本系统包含有登录窗口,主窗口这两个主要窗口,在主窗口中还包含管理窗口,操作窗口,系统窗口,查询窗口,关于窗口等子窗口。其系统结构如下图所示:登录窗口主窗口(含菜单)自定查询条件操作窗口系统窗口查询窗口关于窗口管理窗口借书还书系统登录退出系统读者管理图书管理介绍本系统2.2 系统中各模块的功能(1)登录功能模块:用户登录,用户输入用户名和密码后才能登录系统;(2)管理窗口模块:主要包括读者管理和图书管理。图书管理中又包含新书入库和旧书报废的功能,在新书入库的模块中用户输入图书信息,可以将图书保存到数据库中,而旧书报废模块可以根据设置的条件,查询得到后从数据库中删除图书信息;读者管理中也包含两个模块,图书证办理和图书证注销这两个功能。(3)查询窗口模块:包含了图书查询和读者查询两个功能模块,图书查询模块可以根据用户输入的条件信息,快速查找到满足条件的图书信息。同样读者查询也是一样的道理,也是根据用户输入的信息,快速查找读者信息。(4)操作窗口模块:本模块包含了借书管理和还书管理两个功能模块,借书管理模块用户可以查找到自己所需要的图书信息,然后在去借阅图书。还书管理模块是实现还书功能,更改数据库中相关表的信息。(5)关于窗口模块:主要包含了本系统的相关信息。第三章 数据库设计3.1 创建数据库1、在PowerBuilder主窗口中,选择系统工具条上的数据库图标,打开数据库【Database】窗口,以此单击【ODB ODBC】和【Utilities】左边的【+】号,使之展开,如下图所示:2、选中【Create ASA Database】双击鼠标左键,弹出创建ASA数据库对话框,在【Database Name】文本框中输入数据库路径和文件名,在【User ID】中输入用户标识,默认为DBA,在【Log Name】文本框中输入日志文件名,单击【OK】按钮即可完成数据库的创建。如下图所示:3.2 连接数据库在Script的open事件中输入sql代码实现数据库的连接:SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=图书管理系统;UID=DBA;PWD=sqlconnect using SQLCA;/连接数据库if SQLCA.SQLCode0 then/检测连接MessageBox(错误,无法连接数据库,错误信息为:+String(SQLCA.SQLDBCode)+;+SQLCA.SQLErrText)Returnend if3.3 数据库中表的结构设计(1)用户表是用户登录表,用于存放用户名和密码,其结构如下表所示字段名类型说明用户名字符型管理员用户名密码字符型管理员密码(2)图书表是用于存放图书信息的表,其结构如下表所示字段名类型说明书号字符型主键书名字符型图书的名字 出版社字符型图书的出版社作者字符型图书的作者出版日期日期型图书的出版日期定价数值型图书的价格在库与否字符型图书有没有在库(3)读者信息表,用于存放读者的个人信息,其结构如下表所示字段名类型说明读者编号字符型主键姓名字符型读者的姓名证件号码字符型读者的身份证号电话字符型读者的联系电话地址字符型读者的住址信息(4)借书还书表,用于存放借书还书的情况信息,其结构如下表所示字段名类型说明读者编号字符型主键书号字符型主键借书日期日期型借书的日期还书日期日期型还书的日期备注字符型图书是否归还第四章 系统设计4.1 界面的设计4.1.1 登录窗口的设计新建一个窗体文件,命名为w1,在窗体上拖放三个静态文本控件,两个单行编辑器,和两个命令按钮。其界面如下图所示:在登录按钮cb_1中编辑click()事件代码:string pw,pw1pw=sle_2.textselect 密码 into :pw1 from 用户表 where 用户名=:sle_1.text;if sle_1.text= thenmessagebox(提示,用户名不能为空!)elseif sle_2.text= thenmessagebox(提示,密码不能为空!)elseif pw=pw1 thenopen(w2)close(parent)elsemessagebox(提示,用户名或密码错误)sle_1.text=sle_2.text=sle_1.setfocus()end if4.1.2 新书入库口界面设计新建一个窗体文件,命名为rk,在窗体上拖放7个静态文本控件,6个单行编辑器,和两个命令按钮。其界面如下图所示:保存按钮的click()事件代码为:string sm,sh,cbs,zzdate cbrqdouble djsm=sle_2.textsh=sle_1.textcbs=sle_4.textzz=sle_3.textcbrq=date(sle_5.text)dj=double(sle_6.text)insert into 图书表(书名,书号,出版社,作者,出版日期,定价,在库与否)values(:sm,:sh,:cbs,:zz,:cbrq,:dj,是);if SQLCA.SQLCode=0 thenCOMMIT;messagebox(提示!,图书入库完成!)ELSEROLLBACK;messagebox(提示!,图书入库失败!)END IF4.1.3 旧书报废界面设计新建一个窗体文件,命名为bf,在其窗体上拖放三个静态文本控件,两个单行编辑器,和一个命令按钮。其界面如下图所示:“报废”按钮的click()事件代码为:string lx,srlx=ddlb_1.textsr=sle_1.textif lx=按书号 thendelete from 图书表 where 图书表.书号=:sr;elseif lx=按书名 then delete from 图书表 where 图书表.书名=:sr;end if if SQLCA.SQLCode=0 thenCOMMIT;messagebox(提示!,图书报废完成!)ELSEROLLBACK;messagebox(提示!,图书报废失败!)END IF4.1.4 图书证注册界面设计新建一个窗体文件,命名为zc,在其窗体上拖放六个静态文本控件,五个单行编辑器,和两个命令按钮。其界面如下图所示:注册按钮的click()事件代码为:string dzbh,xm,zjh,dh,dzdzbh=sle_1.textxm=sle_2.textzjh=sle_3.textdh=sle_4.textdz=sle_5.textinsert into 读者信息表(读者编号,姓名,证件号码,电话,地址)values(:dzbh,:xm,:zjh,:dh,:dz);if SQLCA.SQLCode=0 thenCOMMIT;messagebox(提示!,注册完成!)ELSEROLLBACK;messagebox(提示!,注册失败!)END IF取消按钮的click()事件代码为:sle_1.text=sle_2.text=sle_3.text=sle_4.text=sle_5.text=sle_1.setfocus()4.1.5 图书证注销界面设计新建一个窗体文件,命名为tushuzhengzhuxiao,在其窗体上拖放两个静态文本控件,一个单行编辑器,和一个命令按钮。其界面如下图所示:注销按钮的click()事件代码为:string bhbh=sle_1.textdelete from 读者信息表 where 读者信息表.读者编号=:bh; if SQLCA.SQLCode=0 thenCOMMIT;messagebox(提示!,图书证注销完成!)ELSEROLLBACK;messagebox(提示!,图书证注销失败!)END IF4.1.6 图书查询界面设计新建一个窗体文件,命名为tushucx,在其窗体上拖放10个静态文本控件,一个单行编辑器,一个下拉列表框和一个命令按钮。其界面如下图所示:查询按钮的click()事件代码为:string lx,srstring bookname,bookno,publish,writer,day,price,zkyflx=ddplb_1.textsr=sle_1.textif lx=按书名 thenselect 图书表.书名,图书表.书号,图书表.出版社,图书表.作者,图书表.出版日期,图书表.定价,图书表.在库与否into :bookname,:bookno,:publish,:writer,:day,:price,:zkyffrom 图书表where 图书表.书名=:sr;elseif lx=按书号 thenselect 图书表.书名,图书表.书号,图书表.出版社,图书表.作者,图书表.出版日期,图书表.定价,图书表.在库与否into :bookname,:bookno, :publish,:writer,:day,:price,:zkyffrom 图书表where 图书表.书号=:sr;end if if SQLCA.SQLCode=0 thenst_4.text=书名:+booknamest_5.text=书号:+booknost_6.text=出版社:+publishst_7.text=作者:+writerst_8.text=出版日期:+dayst_9.text=定价:+pricest_10.text=在库与否:+zkyfCOMMIT;ELSEROLLBACK;messagebox(提示!,查询的信息不存在!)END IF4.1.7 读者查询界面设计新建一个窗体文件,命名为duzhcx,在其窗体上拖放八个静态文本控件,一个单行编辑器,一个下拉列表框和一个命令按钮。其界面如下图所示:读者查询按钮的click()事件代码为:string xz,pstring bh,name,no,dh,dzxz=ddplb_1.textp=sle_1.textif xz=按姓名 thenselect 读者信息表.读者编号,读者信息表.姓名,读者信息表.证件号码,读者信息表.电话,读者信息表.地址into :bh,:name,:no,:dh,:dzfrom 读者信息表where 姓名=:p;elseif xz=按读者编号 thenselect 读者信息表.读者编号,读者信息表.姓名,读者信息表.证件号码,读者信息表.电话,读者信息表.地址into :bh,:name,:no,:dh,:dzfrom 读者信息表where 读者编号=:p;end if if SQLCA.SQLCode=0 thenst_4.text=读者编号:+bhst_5.text=姓名:+namest_6.text=证件号码:+nost_7.text=电话:+dhst_8.text=地址:+dzCOMMIT;ELSEROLLBACK;messagebox(提示!,查询的信息不存在!)END IF4.1.8 借阅管理界面设计新建一个窗体文件,命名为jygl,在其窗体上拖放十二个静态文本控件,五个单行编辑器和两个命令按钮。其界面如下图所示:借阅按钮的click()事件代码为:string bh,sh,bzdate jsrq,hsrqbh=sle_2.textsh=sle_3.textbz=未还jsrq=date(sle_4.text)hsrq=date(sle_5.text)insert into 借书还书表(读者编号,书号,借书日期,还书日期,备注) values(:bh,:sh,:jsrq,:hsrq,:bz); if SQLCA.SQLCode=0 thenCOMMIT;messagebox(提示!,图书借阅成功!)ELSEROLLBACK;messagebox(提示!,图书借阅失败!)END IF查询按钮的click()事件代码为:string bookname,bookno,publish,writer,day,zkyf,srsr=sle_1.textselect 图书表.书名,图书表.书号,图书表.出版社,图书表.作者,图书表.出版日期,图书表.在库与否into :bookname,:bookno,:publish,:writer,:day,:zkyffrom 图书表where 图书表.书名=:sr;if SQLCA.SQLCode=0 thenst_3.text=书名:+booknamest_4.text=书号:+booknost_5.text=出版社:+publishst_6.text=作者:+writerst_7.text=出版日期:+dayst_8.text=在库与否:+zkyfCOMMIT;ELSEROLLBACK;messagebox(提示!,查询的信息不存在!)END IF4.1.9 还书管理界面设计新建一个窗体文件,命名为hsgl,在其窗体上拖放三个静态文本控件,两个单行编辑器和一个命令按钮。其界面如下图所示:还书按钮的click()按钮的事件代码为:string bh,shbh=sle_1.textsh=sle_2.textupdate 借书还书表set 备注=已还where 借书还书表.读者编号=:bh and 借书还书表.书号=:sh; if SQLCA.SQLCode
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海海事大学单招综合素质考试题库及答案1套
- 2026年沈阳北软信息职业技术学院单招综合素质考试题库及答案1套
- 2026年衡阳科技职业学院单招职业适应性测试题库必考题
- 2026年黑龙江农业职业技术学院单招职业适应性测试题库及答案1套
- 2026年萍乡卫生职业学院单招职业适应性考试必刷测试卷必考题
- 2026年河南职业技术学院单招职业倾向性测试必刷测试卷必考题
- 2026年广州城市职业学院单招职业技能测试题库附答案
- 2026年广西演艺职业学院单招职业适应性测试必刷测试卷新版
- 2026年兰州石化职业技术大学单招职业技能考试题库及答案1套
- 2026年云南体育运动职业技术学院单招职业适应性考试题库及答案1套
- 2024-2025学年江苏省常州外国语学校八年级(上)期中数学试卷
- 企业ISO14001环境管理体系文件模板
- 事业编护士考试题库及答案
- 2025年中小学教师高级职称专业水平能力测试复习题库及答案
- 广东省餐饮食安员考试题库及答案
- 教科版科学三年级上册2.2 水珠从哪里来课件
- 化工前沿技术进展
- 2025年4月自考高级财务会计(000159)试卷及答案解释完整版
- 2025年教师职称-天津-天津教师职称(基础知识、综合素质、高中语文)历年参考题库含答案解析(5套)
- 2025年呼吸与睡眠医学考试试题及答案
- 2025年吉林省事业单位招聘考试公共基础知识考试试题库及答案详解
评论
0/150
提交评论