首页 powerbuilder图书管理系统设计

powerbuilder图书管理系统设计

举报
开通vip

powerbuilder图书管理系统设计《数 据 库 应 用 基 础》 作 品 设 计 报 告 设 计 作 品 题 目:      综合检测技术实验平台      自动化测量系统          学  院  名  称:       电子与信息工程学院        专            业:       电气工程及其自动化        班            级:             082班                  姓            名:     杨仲豪    学  号 0840******* 指  导  ...

powerbuilder图书管理系统设计
《数 据 库 应 用 基 础》 作 品 设 计 报 告 设 计 作 品 题 目:      综合检测技术实验平台      自动化测量系统          学  院  名  称:       电子与信息 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 学院        专            业:       电气工程及其自动化        班            级:             082班                  姓            名:     杨仲豪    学  号 0840******* 指  导  教  师:     应宏微    职  称  讲师    完成日期: 2011 年 6 月 10 日  1 引言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。 本文介绍了在PowerBuider环境下采用“自上而下地总体 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 ,自下而上地应用开发”的策略开发一个管理信息系统的过程。文章详细介绍了图书管理信息系统的系统分析部分,包括系统、借阅和查询、系统维护和帮助,分别细分重新登录、断开连接和退出系统,借还图书查询窗口、图书查询窗口、会员查询窗口、借书窗口和还书窗口,录入/注销图书、修改密码、注册/注销会员卡、打印会员卡和注册用户,关于等;系统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。特点:本系统界面友好,操作简单,比较实用。 2 作品设计原理 2.1 .1数据库设计 (1)数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该有计算关系。数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。 图书借阅管理系统数据库中各个表的设计结果如下面几个 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 所示。每个表格表示为数据库中的一个表。 表1 图书表boot_t 名称 数据类型 大小 空 b_id varchar 20 否 b_name nvarchar 60 是 auther varchar 20 是 publish_company nvarchar 60 是 publish_day datetime 8 是 isbn varchar 60 是 price numeric 9(12,2) 是         表2 借还图书记录表jiehuant 名称 数据类型 大小 空 m_id varchar 20 否 b_id varchar 20 否 jiedate datetime 8 是 huandate datetime 8 是 remark nvarchar 60 是         表3 会员表membert 名称 数据类型 大小 空 m_id varchar 20 否 m_name varchar 60 是 sex varchar 2 是 birthday datetime 8 是 phone varchar 60 是 address varchar 50 是 lock varchar 2 是         表4 用户表user_t 名称 数据类型 大小 空 user_id varchar 50 否 user_name varchar 50 是 password varchar 50 是 admin varchar 50 是         2.1.2 建立表 打开企业管理器,建立名为booksystem的数据库 打开查询分析器,用sql语句建立表。图书表包括书名、图书编号、作者、出版社、出版日期、isbn、价格。 use booksystem go create table bookt (b_id    varchar (20)  not null unique, b_name  nvarchar (60)    unique, auther    varchar (20)      unique, publish_company  nvarchar(60)unique, publish_day      datetime(8)  unique, isbn      varchar(60)    unique, price      numeric(9(12,2))  unique, ); go create table jiehuant (m_id    varchar (20)  not null unique, b_id    varchar (20)    not null unique, jiedate    datetime(8)  unique, huandate  datetime(8)  unique, remark  nvarchar (60)  unique, ) go create table membert (m_id    varchar (20)  not null unique, m_name varchar (60)  unique, sex int,  varchar (2)  unique, birthday  datetime(8)unique, phone    varchar (60)  unique, address    varchar (50)  unique, lock    varchar (2)    unique, ) go; create table 用户 (user_id    varchar (50)  not null unique, user_name  varchar (50)  unique, password    varchar (50)  unique, admin      varchar (50)  unique,  ); go 建立表后在与图书表中填入图书基本信息,借还记录表中写入会员借阅情况,会员表中写入会员资料,用户表中添加可以登录界面的用户信息,其中包括管理员和会员两个权限。 管理员登入后所显示的 会员登入后所显示的 2.2 PB界面设计 2.2.1在 PB界面中建立一个名为wage的workplace,建立其与数据库的联系并连接服务器 图1 图2 在PB的“wage”application的open中 // Profile wage sqlca.DBMS = "MSS Microsoft SQL Server" sqlca.Database = "wage" sqlca.ServerName = "PC-201009021624" SQLCA.LogId = "sa" SQLCA.AutoCommit = False SQLCA.DBParm = "" connect; open(w_login) 2.2.2 PB系统功能设计 在系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如图所示的系统功能模块图:                                                                                                        图3系统功能 系统功能分析: 主界面:系统、借阅和查询、系统维护和帮助 系统:重新登录、断开连接和退出系统 借阅和查询:借还图书查询窗口、图书查询窗口、会员查询窗口、借书窗口和还书窗口 系统维护:录入/注销图书、修改密码、注册/注销会员卡、打印会员卡和注册用户 帮助:关于 3作品使用说明书 3.1首先附加数据库SQL Server2000 (1) 将文件夹中的扩展名为booksystem_Data.MDF和booksystem_Log.LDF的两个文件拷贝到SQL Server安装路径下Data文件中。 (2) 打开SQL Server2000 中“企业管理器”,然后展开你开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项中。 (3) 将弹出“附加数据库”对话框中,在该对话框中单击按钮,选择所要附加数据库的booksystem_Data.MDF文件,单击【确定】按钮,即可完成附加数据库的附加操作。 3.2系统介绍 本系统属于小型的班级管理系统,可以有效地对班级成员进行管理,本系统应达到以下目标: 界面美观大方,信息查询灵活,方便,数据存储安全可靠。 实现对录入/注销图书,修改密码,注册/注销会员卡,打印会员卡,会员、图书和会员借阅情况查询,借书,还书等操作。本系统还具有权限设置,会员可以操作系统、借阅和查询、帮助,而管理员还可使用系统维护。 3.3操作流程 (2)登入界面 图4 Login中的‘登入’按钮的clicked中 string user ,pass ,temp1,temp2,temp3 user  = sle_1.text if len(user) = 0 or isnull(user) = true then messagebox("","用户名不能为空!") return end if select user_id into :temp1 from user_t where user_id = :user using sqlca; if sqlca.sqlcode <> 0 then messagebox("","用户名不存在!") return end if pass = sle_2.text select password into :temp2 from user_t where user_id = :user using sqlca; if pass <> temp2 then messagebox("","口令错误!") return end if open(w_mian) select admin  into  :temp3 from  user_t  where user_id = :user using sqlca; if temp3 = 'admin' then main.m_系统维护.enabled=true end if close(parent) (3) 借阅人基本信息登记/修改 图6 说明:录入借阅人基本信息后存放在借阅人信息库中。 lock_or_unlock中‘注册’按钮的clicked中 int n//定义一个整型变量 n=dw_1.rowcount()//将数据表总行数赋与n dw_1.insertrow(0)//插入记录 dw_1.scrolltorow(n+1)//转到最后一行记录 ‘注销’ 按钮的clicked中 dw_1.deleterow(0)//删除记录 更新 if dw_1.update()=1 then commit; end if ‘第一个’ 按钮的clicked中 dw_1.scrolltorow(1)//转到第一条记录 上一个 int m m=dw_1.getrow()//取得当前记录号 if m>1 then m=m -1 dw_1.scrolltorow(m)//转到上一条记录 else messagebox("提示","这是第一个记录!")//弹出提示框 end if ‘下一个’ 按钮的clicked中 int m,n n=dw_1.rowcount()//取得总行数 m=dw_1.getrow()//取得当前行号 if m 0 then string s_id s_id = this.getitemstring(row,"m_id") dw_2.retrieve(s_id) end if (7)图书借阅 图8 说明:输入借阅人编号,通过检索借阅人信息库,核实借阅人身份。输入图书编号,通过 检索图书信息库,核实图书信息。进行图书借出处理后,在图书借阅库中进行登记, 并将借出图书的在借标志设为“是”。 (8)图书归还 图9 huanshu中modified中sle_1 string  ls_bookid,ls_title,ls_memberid,ls_membername date ld_date1,ld_date2 int li_days dec ld_fine,ld_countfine ld_date2=today()//获得当前日期 ls_bookid=trim(this.text)//获得"图书编号" //根据"图书编号"查询出"借阅日期 SELECT jiedate INTO :ld_date1 FROM jiehuant WHERE b_id=:ls_bookid; ) //查询"图书名称" SELECT b_name INTO :ls_title FROM bookt WHERE b_id=:ls_bookid;        //查询"借阅人号"、"借阅人姓名" SELECT m_id,m_name INTO :ls_memberid,:ls_membername FROM membert WHERE m_id in (SELECT m_id FROM jiehuant WHERE b_id=:ls_bookid);        if sqlca.sqlcode<>0 then messagebox("系统提示","没有借阅信息!") sle_1.setfocus() return else sle_2.text=ls_title sle_3.text=ls_memberid sle_4.text=ls_membername end if 图中的"还书"按钮的clicked中 string ls_bookid,ls_bookonloan date ldt_nowdate ldt_nowdate=today()//获得"当前日期" ls_bookid=sle_1.text if ls_bookid="" or isnull(ls_bookid) then messagebox("系统提示","请输入图书编号!") sle_1.setfocus() return else select remark into :ls_bookonloan from jiehuant where b_id=:ls_bookid; if ls_bookonloan="已还" then messagebox("系统提示","本书已归还!") else  UPDATE jiehuant set huandate=:ldt_nowdate WHERE b_id=:ls_bookid; commit; update jiehuant  set remark='已还' where b_id=:ls_bookid; commit; end if end if sle_1.setfocus() sle_1.text="" sle_2.text="" sle_3.text="" sle_4.text="" jieshu中sle_1的modified中 string ls_memberid,ls_membername ls_memberid=trim(this.text) //根据"借阅人编号"查询出"借阅人姓名" select m_name into :ls_membername from membert where m_id=:ls_memberid; //判断是否有该"借阅人" if sqlca.sqlcode<>0 then messagebox("系统提示","没有此借阅人信息!") sle_1.setfocus()//"借阅人编号"输入框获得焦点 return else sle_2.setfocus()//"图书编号"输入框获得焦点 sle_3.text=ls_membername//显示""借阅人姓名 end if 中sle_2的modified中 string ls_bookid,ls_title ls_bookid=trim(this.text) select b_name into :ls_title from bookt where b_id=:ls_bookid; if sqlca.sqlcode<>0 then messagebox("系统提示","没有此图书信息!") sle_2.setfocus() return else sle_4.text=ls_title end if 图中‘借书’按钮的clicked中 string ls_bookid,ls_memberid,ls_remark date ldt_nowdate ldt_nowdate=today()//获得"当前日期" ls_bookid=trim(sle_2.text)//获得"借阅人号" ls_memberid=trim(sle_1.text)//获得"图书编号" //强制输入"借阅人号"与"图书编号" if ls_memberid="" or isnull(ls_memberid) then messagebox("系统提示","请输入借阅人编号!") sle_1.setfocus() return end if if ls_bookid="" or isnull(ls_bookid) then messagebox("系统提示","请输入图书编号!") sle_2.setfocus() return end if //根据"图书编号"查询图书是否借出 SELECT remark INTO:ls_remark FROM jiehuant WHERE b_id=:ls_bookid; if ls_remark="未还" then messagebox("系统提示","本书已经外借!") sle_2.setfocus() return else //添加图书借阅记录 INSERT INTO jiehuant  (b_id,m_id,jiedate) VALUES (:ls_bookid,:ls_memberid,:ldt_nowdate); commit; //设置该图书为"借出"状态 UPDATE jiehuant set remark='未还'  WHERE b_id=:ls_bookid; commit;        end if //"借阅人号"得到焦点,所有输入框清空 sle_1.setfocus() sle_2.text=""sle_4.text=""sle_1.text=""sle_3.text="" (9)借还图书记录情况 图10 与会员查询相似。 (10)密码修改 图11 password中clicked中 string user_id int ret select user_id into :user_id from user_t where  password=:sle_1.text using sqlca; if sqlca.sqlcode=0 then if sle_2.text=sle_3.text then update user_t set  password=:sle_2.text where user_id=:user_id; commit using sqlca; close(parent) return else ret=messagebox("提示","新密码有误!",question!,yesno!,2) if  ret = 1 then sle_1.text="" sle_2.text="" sle_3.text="" else close(parent) return end if end if else ret=messagebox("提示","旧密码有误!",question!,yesno!,2) if  ret = 1 then sle_1.text="" sle_2.text=""sle_3.text="" else close(parent) return end if end if (11)注册用户 图12 注册用户的确定clicked中 string ls_id,ls_user,ls_password,ls_admin,ls_temp,ls_temp2 ls_id=sle_1.text ls_user=sle_2.text ls_password=sle_3.text ls_admin=ddlb_1.text if sle_1.text=''or sle_2.text=''or sle_3.text=''or ddlb_1.text=''then messagebox("提示!","用户编号,用户名,口令或角色不能为空!") return end if if  ls_admin='member' then insert into user_t values(:ls_id,:ls_user,:ls_password,:ls_admin); messagebox("提示!","创建新用户成功!") close(parent) elseif  ls_admin='admin'then insert into user_t values(:ls_id,:ls_user,:ls_password,:ls_admin); messagebox("提示!","创建新管理用户成功!") close(parent) else messagebox("提示!","此用户已存在!") end if (12)关于 图13 说明:关于图书管理系统的信息。 4总结 在对管理信息系统的开发过程有了基本了解后,本人使用PowerBuilder 9.0开发了这个“图书管理系统”。系统基本实现了内部图书借阅管理的系统化、 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化和自动化。例如对图书进行登记,对旧书进行销毁。添加借阅人以及注销借阅人。图书的借阅、归还。可以按作者、出版社、出版时间等信息对图书进行查询,并能反映出图书的借阅情况。还能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。 通过对该系统的设计、开发和调试,一方面让我了解了数据库的使用方法,另一方面,让我初步掌握了PowerBuilder开发工具的使用方法,熟悉了窗口、菜单以及一些可视化控件的使用方法。通过使用还了解到窗口对象、数据窗口对象、各类控件的属性与方法。同时,在制作过程中遇到了不少问题和困难,通过查阅书籍及互连网得到了不小的帮助。 因为条件的限制,该管理系统还存在不少的缺点和漏洞,只能尽量改正与完善。不足之处,还请多多指教。
本文档为【powerbuilder图书管理系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_531654
暂无简介~
格式:doc
大小:94KB
软件:Word
页数:0
分类:互联网
上传时间:2019-02-25
浏览量:21