资源描述
音像租赁系统
前 言
随着信息技术在管理上的广泛应用,管理信息系统(MIS)的实施在技术上已经逐步成熟。企业要生存、要发展、要高效率地把企业活动有效组织起来,就必须加强对企业内部各种资源(人、财、物)的有效管理,建立与自身特点相适应的管理信息系统。
本音像店管理租赁管理系统,设计并且完成了一个小型的音像店管理信息系统,使得经营者以及普通用户能对影碟的历史记录等进行操作。
本音像店租赁管理系统是一个典型的管理信息系统,在该系统的设计和实现过程中,采用了一些新技术,使其具有了良好的扩展性以及最大程度上降低了耦合。
《音像店租赁管理系统》主要是为一般商业运营性音像租赁店提供影碟信息和影碟租赁信息管理的MIS系统。该系统能够实现用户注册、用户登录等功能,还对用户对影碟的租赁、用户信息管理、影碟信息管理等提供存储、删除、修改、查询的功能。使音像店经营者能够合理的对各种信息进行高效管理,缩短工作时间,使工作流程实现高效化,该系统同时具有一定的安全性、科学性、现代化、智能化。本系统在设计方面也考虑到了系统以后的扩展性以及能够提高运行效率的底耦合性。系统数据来源于由系统管理员(一般为音像店经营者)和普通用户通过键盘,根据他们自己需求进行的输入。
管理信息系统MIS是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业和单位的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。而MIS系统通常用于系统决策,例如,可以利用MIS系统找出目前迫切需要解决的问题,并将信息及时反馈给上层管理人员,使他们了解当前工作发展的进展或不足。
第一章.概述
1.1本系统实现的内容
本系统实现的内容:对音像的管理,分为管理员的功能和租用音像用户的功能。管理员的功能主要是实现对所拥用音像的管理和租用音像的租用者的管理,包括修改管理员登录密码,管理员信息,注册管理员,对所拥有的音像的修改,查询,更新信息和删除;对租用音像的用户的管理包括对用户的查看、删除、对个别用户租用音像的历史记录查询。租用音像的用户的功能包括租用者登录个人信息,租赁音像,归还音像,查询所租有音像,及时了解自己未归还的音像信息,管理自己的租赁像记录等功能。
1.2 开发环境简介
1.2.1 MyEclipse简介
MyEclipse是商业插件和工具的集合,为免费的Eclipse开源平台增加了大量有用的开发服务器端应用的功能。
MyEclipse是一个专门为Eclipse设计的商业插件和完美工具集合。它为Eclipse提供了一个大量的私有和开源的JAVA工具集合。很大程度上解决了各种开源工具的不一致和确定问题,并大大提高了JAVA和JSP应用开发的效率。
MyEclipse的实际价值来自其发布的大量可视化开发工具,如CSS/JS/HTML/XML编辑器,帮助创建EJB和Struts项目向导并产生项目所有主要的组件如ACTION/SESSION BEAN/FORM等。此外还包含编辑HIBERNATE配置文件和执行SQL语句的工具。
1.2.2 SQLServer简介
SQLServer是一个高性能的,多用户关系型数据库管理系统,它被设计成支持高容量的事务处理以及需求较少的决策支持应用程序。它可以允许不同的用户通过不同的方式看同样的数据,保证了数据库的一致性和可恢复性。它的可靠性、质量和易用性使之成为很多数据库软件的首选。
第二章.系统分析
2.1 系统分析的含义及目标
系统分析,是指在管理信息系统开发的生命周期中应用系统思想和系统科学的原理进行分析工作的方法和技术。
系统分析阶段的目标:就是按系统规划所定的某个开发项目范围内明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。
2.2 系统分析的任务
系统分析的任务是:尽可能弄清用户对信息的需求,调查原信息系统的资源、输入、处理和输出。完成新系统的逻辑设计,以满足新新公司的业务发展要求。
系统分析的具体工作内容包括:
(1) 可行性分析;
(2) 详细调查;
(3) 系统性分析;
(4) 提出新系统的逻辑模型;
2.2.1 系统分析的步骤
系统分析阶段的主要活动是:系统的初步调查、可行性研究、系统的详细调查、新系统逻辑方案的提出。
系统的初步调查:系统的初步调查是着重于系统的总体目标、总体功能和发展方向。
可行性的研究:可行性的研究是进一步明确系统的目标、规模与功能,对系统发展背景、必要性和意义进行调查分析并根据需要和可能提出拟定开发系统的初步方案计划。
现行系统详细调查:在可行性研究的基础上进一步对现行系统进行全面、深入的调查和分析,弄清楚现行系统运行状况,发现其薄弱环节,找出要解决的问题实质,确保新系统更有效。
新系统逻辑方案的提出:主要明确用户的信息需求,确定新系统的逻辑功能,提出新系统的逻辑方案。
2.2.2 系统初步调查
在整个系统分析阶段,我认真调查了很多音像租赁店并且也结合实际思考了很多细节问题。经过自己的整理和加工,收集到了相应的业务流程,影碟信息表单和客户信息表单等资料。具体如下:
(1) 音像店提供给客户的基本服务
(2) 每项业务应具有的流程
(3) 影碟的名称和编号
(4) 影碟的基本信息
(5) 每个客户的用户名和编号
(6) 每个客户各自的基本信息
(7) 每个客户可以查看自己的历史租赁记录
系统管理员所具有的功能
(1) 影碟的基本信息应该随着影碟的当前状态的改变而改变。
(2) 当用户或影碟的资料进行了改变后,数据库中的相关数据项也应该改变。
(3) 音像租赁店的主要业务就是租赁影碟业务。因此设计系统时,该系统的核心业务就应该是影碟的租赁业务。
2.3 现行行业的主要问题和解决方案
根据调查得出,音像租赁行业的自动化水平还比较落后,大多数音像租赁店还是使用纸和笔来对租赁进行记录。如果客户进行租赁业务时,并发量小的情况下,还勉强可以应付过来。但是,一旦同时有很多客户进行租赁时,这种方法的低效就暴露出来了,同时还面临着出现错误的可能性。
这一缺乏系统、规范的管理手段,严重阻碍了该行业的快速发展。而大多数其他行业,如零售、金融等行业早已具备了相关的、较为成熟的MIS系统。因此我认为专门为租赁行业开发一个MIS系统是非常有必要的。
第三章.系统设计
信息系统设计阶段的主要目的是将系统分析阶段所提出的反映公司信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。这一阶段的主要任务是从系统的总体目标出发,根据系统分析阶段对系统逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保总体目标的实现。
3.1 系统设计阶段
3.1.1系统目标设计
系统开发的总体任务是实现公司进销存管理的系统化、规范化和自动化,从而达到提高租赁行业管理和工作效率的目的。
3.1.2 开发设计思想
本租赁管理系统设计总体目标是通过对影碟信息和用户信息的管理,及时了解到租赁综合情况。以便为该音像店管理员的决策做出准确判断提供依据。
该租赁信息管理系统主要目标就是通过计算机的强大功能,为计划以及决策人员提供实时准确的影碟信息,以便及时调整决策,保证企业的经营活动的顺利进行。解决了繁琐的日常工作,能够实现快捷查找信息,准确处理影碟存放,迅速产生影碟列表,轻松进行管理,帮助经营者不再进行大量重复的抄写,复杂的计算,反复的核对,减少经营者出现手工处理难以避免的错误。租赁管理系统协调了经营者的经营基础,其数据的准确性、方便的查询、有效的显示是整个管理信息系统有效运行的关键。
3.1.3 系统功能分析
本系统需要完成的功能主要包括以下几点:
(1)用户基本信息、影碟基本信息的输入;
(2)用户信息、影碟信息的查询;
(3)查询结果的显示;
(4)查询结果的修改;
(5)查询结果的删除;
(6)用户进行影碟租赁,影碟信息的改变以及管理员对影碟信息的还原。
3.2 详细设计
3.2.1系统功能模块设计
管理员模块:进行管理员登录、影碟基本信息的管理以及用户管理;
用户模块:进行用户注册、登录、登出、用户个人信息维护、影碟租赁、归还影碟、查看历史个人租赁记录。
流程图分析可以帮助我们了解某项业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原来设计的系统中不合理部分,在新设计的系统基础上优化业务处理流程。现通过调查,采用系统流程图的部分图形工具来规范说明该行业的业务活动。
管理员登录
用户管理
影碟信息管理
用户列表
删除
影碟列表
添
加
更新
删除
查找
查找
修改
管理员信息
图1 系统流程图(管理员)
用户注册
用户登录
更改个人信息
租赁影碟
查看历史租赁记录
更新
影碟列表
影碟租赁
影碟归还
图2 系统流程图(用户)
这一阶段的工作主要包括调查分析、建模、对模型进行评价和修改以及编写系统说明书。在对音像租赁行业的业务流程进行认真分析和研究的基础上,经过和音像店经营者的反复协商、论证,最终确定了公司的信息管理系统的逻辑模型。下面先以数据流程图的方式来描述系统的逻辑功能。
3.2.2系统模块详细介绍
1、管理员模块:管理员登录(输入管理员名称和密码),影碟管理包括:查看所有影碟列表、添加一个影碟(影碟的名称、影碟的当前状态)、删除影碟、查找某个影碟(根据影碟编号查询)、更新影碟信息(更新影碟的名称或状态),用户管理包括:查看所有用户列表、删除某个用户。
2、用户模块:用户注册(输入登录系统的用户名和密码,性别以及用户的联系电话)、用户登录(输入注册的用户名和密码)、查看影碟:可以对状态为“未租”的影碟进行租赁,租赁完成后,该影碟信息就保存在用户历史租赁记录中了。用户个人信息修改:对已经注册的用户个人信息进行修改(密码、性别、联系电话)。查看历史租赁记录:查看该用户的曾经租赁过的所有影碟的名称在记录中可以对状态为“未还”的影碟进行归还。用户退出:提供了一种安全退出系统的方式。
3.2.3系统模块划分
模块划分是描述系统需求分析的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能。这是整个系统开发的一个关键过程。分析的根本目的是在开发者和提出需求者之间建立一种理解和沟通的机制。因此,这个租赁管理系统的需求分析也应该有开发者和提出需求者之间共同完成。并且根据用户的操作需求,将系统划分如下,并对其模块的划分和功能进行描述。
用户(前台)模块部分:
(1) 注册用户信息
(2) 用户登录
(3) 用户修改个人信息
(4) 用户查看影碟列表
(5) 用户租赁影碟
(6) 用户查看个人历史租赁记录
(7)用户归还影碟
管理员(后台)模块部分:
(1)管理员登录
(2) 查看用户
(3 删除某个用户
(4) 查看影碟
(5) 添加影碟
(6) 删除影碟
(7) 更新影碟信息
音像店租赁管理系统
用户
管理员
注册用户信息
用户登录
用户修改个人信息
用户查看影碟列表
影碟租赁
用户查看租赁记录
查看用户列表
删除某个用户
查看影碟列表
添加影碟
更新影碟信息
删除影碟
影碟租赁
图3 系统模块结构
3.2.4数据流图
数据流图DFD(Data Flow Diagram)是用于分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。DFD是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。它是采用自顶向下逐层扩展的方法,从逻辑上精确地描述系统具有的数据加工、数据存储、数据输入输出及数据来源和去向等功能。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的物理描述无关,所描述的内容是面向用户的,是系统设计的主要依据之一。
音
像
店
租
赁
管
理
系
统
管
理
员
用
户
登录
添加影碟
编辑影碟信息
删除影碟
删除用户
注册
登录
编辑用户
租赁影碟
查看记录
归还影碟
图4 音像店租赁管理系统的数据流图
DFD是根据调查材料,明确系统外部项,识别数据输入的来源和输出的去处,自顶向下逐层扩展整个系统的逻辑功能。
3.2.4 UML用例图
影碟管理
用户管理
管理员
登录、注册、注销
用户信息更新
影碟租赁
查看历史记录
用户
图5 音像店租赁管理系统的用例图
图中的用例是用户与计算机之间的一次交互过程,在UML中,用例表示为一个椭圆。执行者是指用户在系统中所扮演的角色。其图形化的表示是一个小人。这里需要注意的是,执行者在用例图中是类似人的图形来表示的,但执行者未必是人。例如,执行者可以是一个外界系统,该外界系统可能需要从当前系统中过去信息。与当前系统进行交互。
3.3数据库设计
数据库设计是系统设计中非常重要的一个环节。数据是一切系统设计的基础,通俗的说,数据库设计就象高楼大厦的根基一样,如果设计不合理、不完善,将在系统开发过程中、甚至到后期的系统维护、功能变更和功能扩充时引起较多问题,严重时甚至要重新设计项目,重做大量已完成的工作。
根据功能模块划分的结果可知,本系统的用户有两类:普通用户和管理员。管理员是在程序中给定登录名称和密码,不用在数据库中进行存储。而普通用户的各种基本信息就需要存入数据库中。因此本系统中需要创建注册用户的数据实体。除此之外由于系统还要记录和显示影碟信息,所以还需要创建影碟信息的数据实体。根据需求得知,用户和影碟是单向多对多的关系。为了简化两者之间的关系,还应设计一个数据实体用于表示两者之间的关系。
3.3.1 实体描述
(1) 用户数据实体:需要记录用户的编号(自动编号)、用户名、密码,性别和联系电话。用户名和密码是登录系统时验证所必需的。
(2) 影碟数据实体:需要记录影碟的编号(自动编号)、影碟名称、影碟当前状态。
(3) 用户—影碟数据实体:需要记录用户编号,影碟编号,租赁记录的状态。用于简化和表明两者之间的关系。
3.3.2 关系描述
本系统中有一个关系,其关系如下:
租赁关系:用户、影碟的关系是M:N,因为一个用户可以租赁多张影碟而一张影碟也可以被多个用户租赁。所以是单向多对多的关系。
以上实体联系属性如下:
租赁(用户—影碟):用户编号、影碟编号。
3.3.3 系统逻辑结构设计
系统实现本系统E-R图如下所示:
用户编号
用户名称
用户密码
联系电话
用户信息
性别
图6 用户实体E-R图
影碟编号
影碟名称
影碟状态
影碟信息
图7 影碟实体E-R图
影碟
用户
租赁
M
N
图8 租赁系统E-R图
3.3.4 系统概念结构设计
按照数据库设计每个数据元素说明确定每个数据项的长度,使每个关系都对应一个数据表:
表1 用户表
列名
数据类型
可否为空
说明
Userid
Integer
Not Null
用户编号(主键)
Username
VarChar(15)
Not Null
用户名称
Password
VarChar(15)
Not Null
密码
Sex
VarChar(2)
Null
联系电话
Tel
VarChar(13)
Null
联系电话
表2 影碟表
列名
数据类型
可否为空
说明
Dvdid
Integer
Not Null
影碟编号(主键)
Dvdname
VarChar(15)
Not Null
影碟名称
Stute
VarChar(15)
Not Null
影碟状态
表3 租赁关系表
列名
数据类型
可否为空
说明
Id
Integer
Not Null
记录编号(主键)
Dvdid
Integer
Not Null
影碟编号
Userid
Integer
Not Null
用户编号
Stute
VarChar(15)
Not Null
归还状态
3.3.5 输入输出设计
本系统界面是标准Windows形式,键盘输入,人机交互,容易使用。输入输出的设计考虑美观实用和通俗易懂,图文并茂。
第四章.详细设计
4.1用户功能具体实现
图9 用户注册页面
上图中注册了一个用户名称为1,登录密码为1,性别男,联系电话为1的用户(该用户只做测试用)。如果想要更改注册内容,可以点击重置按钮。如果注册完毕点击确定按钮。
用户注册的主要代码:
Try
{String sql="SELECT * FROM User where username='"+f1.getText()+"'";
Statement stmt=this.conn.createStatement(); ResultSet rset=stmt.executeQuery(sql); rset.next();
int rows=rset.getRow();
if(rows!=0)
JOptionPane.showMessageDialog(null, "用户名已注册,请重新输入!");
else
{if(f2.getText().equals(f3.getText()))
{sql="INSERT INTO User(username,password,sex,tel) VALUES('"+f1.getText()+"','"+f2.getText()+"','"+sex.getSelectedItem()+"','"+f4.getText()+"')";
stmt.executeUpdate(sql); mit(); JOptionPane.showMessageDialog(null, "注册成功! —_-! "); }
else JOptionPane.showMessageDialog(null, "两次输入密码不一致,请重新输入!"); }
rset.close();
stmt.close(); }
}catch(SQLException ee){}
如果用户要编辑个人基本信息,就进入个人信息界面。在在界面中更改内容,修改完成后按修改按钮就可以成功修改内容。如图10所示:
图10 用户信息界面
如果要进行影碟租赁操作,可以点击租赁影碟。该界面有全部影碟信息,用户可以通过该界面了解可以具体租赁那些影碟。如果要进行租赁,则点租赁。该影碟信息就会添加到该用户的历史租赁记录中,同时该影碟的状态就变为“已租”,以便为其他用户提供准确的影碟信息。如图11所示:
图11 影碟租赁界面
租赁影碟界面的“查询”代码:
try { for(i=tableModel.getRowCount()-1;i>=0;i--) //清空数据表格
this.tableModel.removeRow(i);
String sqlstr="select * from DVD ";
Statement stmt=this.conn.createStatement();
ResultSet rset=stmt.executeQuery(sqlstr);
int rows=0;
while(rset.next()) rows++;
String info[][]=new String[rows][3];
rset=stmt.executeQuery(sqlstr);
for(i=0;rset.next();i++)
{ for (j=1;j<=3;j++)
info[i][j-1]=rset.getString(j); }
rset.close();
stmt.close();
for(i=0;i<rows;i++)
tableModel.addRow(info[i]);
}catch(Exception ee){} }
租赁影碟界面的“租赁”代码:
try{ int n=this.table.getSelectedRow();
Object str=this.table.getValueAt(n, 0);
String sqlstr="select * from DVD where dvdid="+str+"and stute='未租'";
Statement stmt=this.conn.createStatement();
ResultSet rset=stmt.executeQuery(sqlstr);
rset.next();
if(rset.getRow()!=0)
{ String sql="select * from User where username='"
+this.username+"'";
rset=stmt.executeQuery(sql);
rset.next();
Object str_userid=rset.getObject(1);
sql="update DVD set stute='已租' where dvdid="+str;
stmt.executeUpdate(sql);
sql="select * from DVD where dvdid="+str;
rset=stmt.executeQuery(sql);
rset.next();
Object str_dvdid=rset.getObject(1);
sql="insert into UserAndDVD (userid,dvdid,stute) values("+str_userid+","+str_dvdid+",'未还')";
stmt.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "租赁影碟成功! —_— ! ");
rset.close();
stmt.close(); }
else JOptionPane.showMessageDialog(null, "该影碟已租!请重新选择 —_— ! ");
}catch(Exception ee){}
点击查看历史租赁记录,可以进行曾经租赁过影碟的查看。如图12所:
图12 历史租赁记录查看界面
历史租赁记录的“归还”代码:
try {
int n=this.table.getSelectedRow();
Object dvdid=this.table.getValueAt(n, 0);
String sqlstr="select * from UserAndDVD where dvdid="+dvdid+"and stute='未还'"; //取得数据表的记录数和字段数
Statement stmt=this.conn.createStatement();
ResultSet rset=stmt.executeQuery(sqlstr);
rset.next();
if(rset.getRow()!=0)
{ String sql1="update UserAndDVD set stute='已还' where dvdid="+dvdid;
stmt.executeUpdate(sql1);
String sql2="update DVD set stute='未租' where dvdid="+dvdid; stmt.executeUpdate(sql2); String sql="select * from UserAndDVD where dvdid="+dvdid;
this.query(sql);
rset.close();
stmt.close();
JOptionPane.showMessageDialog(null, "归还影碟成功! —_— ! "); }
else JOptionPane.showMessageDialog(null, "该影碟已还!请重新选择 —_— ! ");
}catch(Exception ee){}
public void query(String sqlstr)
{int i,j;
try {
for(i=tableModel.getRowCount()-1;i>=0;i--) //清空数据表格
this.tableModel.removeRow(i);
Statement stmt=this.conn.createStatement();
ResultSet rset=stmt.executeQuery(sqlstr);
int rows=0;
while(rset.next()) rows++;
Object dvdid[]=new Object[rows];
Object info[][]=new Object[rows][3];
rset=stmt.executeQuery(sqlstr);
for(i=0;rset.next();i++)
{ dvdid[i]=rset.getObject(3);
info[i][2]=rset.getObject(4); }
for(i=0;i<rows;i++)
{ sqlstr="select * from DVD where dvdid="+dvdid[i];
rset=stmt.executeQuery(sqlstr);
rset.next();
for (j=1;j<=2;j++)
info[i][j-1]=rset.getObject(j); }
rset.close();
stmt.close();
for(i=0;i<rows;i++)
tableModel.addRow(info[i]);
}catch(Exception ee){} }
4.2 管理员功能具体实现
管理员进入主界面后,该管理员主界面为管理员提供影碟管理和用户管理操作及管理员信息的修改。如图13所:
图13 管理员主界面
进行影碟管理后可以对影碟进行各种操作(添加影碟、删除影碟、更新影碟、查找影碟),并且该页面给出了影碟的信息。如图14所示:
图14 影碟管理界面
管理员要进行添加影碟操作,就由添加来实现。添加影碟需要在该界面根据需要,在表格中输入该影碟的名称以及影碟的当前状态(未租、已租、丢失)。当添加完成以后,就点击更新按钮。进行删除操作,在表格中选中要删除的影碟,点击删除就完成了。更新操作可以对影碟名,租赁状态进行更新,例如在表格中要修改影碟名未5454的信息,单击选中“5454”,然后可以在这个单元格内进行编辑,编辑完成,点击更新就对该影碟名修改完毕。如果现在暂时不想进行影碟操作,就可以通过“返回”转到管理员主界面。
影碟管理界面的“添加代码”:
try { int i;
flag=1;
for(i=TableModel.getRowCount()-1;i>=0;i--) //清空数据表格
this.TableModel.removeRow(i);
String sqlstr="select * from DVD ";
Statement stmt=this.conn.createStatement();
ResultSet rset=stmt.executeQuery(sqlstr);
int rows=0;
while(rset.next()) rows++;
this.obj[0]=++rows;
this.TableModel.addRow(this.obj); }catch(Exception ee){}
影碟管理界面的“更新”代码:
try {
int n=this.table.getSelectedRow();
Object num=this.table.getValueAt(n, 0);
Object dvdname=this.table.getValueAt(n,1);
Object stute=this.table.getValueAt(n, 2);
Statement stmt=conn.createStatement();
if(flag==1){
String sqlstr="insert into DVD values("
+num+",'"+dvdname+"','"+stute+"')";
stmt.executeUpdate(sqlstr);
JOptionPane.showMessageDialog(null, "影碟添加成功! —_— ! "); }
else
{String sqlstr="update DVD set dvdname='"
+dvdname+"', stute='"+stute+"' where dvdid="+num;
stmt.executeUpdate(sqlstr);
JOptionPane.showMessageDialog(null, "影碟更新成功! —_— ! "); }
stmt.close();
}catch(Exception ee){}
管理员要进行用户管理,就进入用户管理界面。该界面会给出所有用户信息。管理员可以通过该界面对用户进行删除和查找具体用户操作。如图15所示:
图15 用户管理界面
删除用户操作和删除影碟操作类似,这里就不具体介绍了。
用户管理界面的“删除代码”:
try{ int n=this.table.getSelectedRow();
Object userid=this.table.getValueAt(n, 0);
String sqlstr="select * from User where userid="+userid;
Statement stmt=this.conn.createStatement();
ResultSet rset=stmt.executeQuery(sqlstr);
rset.next();
if(rset.getRow()!=0)
{ String sql1="delete from UserAndDVD where userid="+userid;
stmt.executeUpdate(sql1);
String sql2="delete from User where userid="+userid;
stmt.executeUpdate(sql2);
JOptionPane.showMessageDialog(null, "用户删除成功! —_— ! "); }
rset.close();
stmt.close();
}catch(Exception ee){}
查询用户是根据用户的用户名来进行的,因为用户名在数据库中是主键,具有唯一性。输入用户名以后点击“查询”按钮。就进入用户查询结果界面,该界面也提供用户删除操作。
管理员要进行管理员信息修改,就进入管理员管理界面。该界面会给出管理员的修改操作。如图15所示:
图15 管理员信息修改
5.系统总结
本次系统的开发主要实现了用户的租赁影碟,查看影碟,修改个人信息和管理员对用户的管理及对影碟的管理等功能,功能都完成了,但有的功能还能进一步进行修改加以优化,使其操作更符合人们的要求,也更简单易行。采用图形用户界面,良好的界面利于人们查看,并且方便人们的操作,更能简化操作,减少工作量,提高工作的效率,方便管理员的管理工作。在显示输出上用table控件与数据库的表格相连,方便控制,简化代码,table控件也利于对数据的修改和添加,删除操作,使得租赁与归还功能的简洁操作。
本系统详细讲解了音像店租赁管理系统的设计与实现,并且给出了详细界面及其介绍。本系统在开发过程中的优点有:根据各个功能需求,设计与功能完善,使得整个系统页面和功能的设计思路非常清晰,而且易于维护和扩展。操作流程清晰,通过使用的流程来贯穿整个设计过程。用户、管理员模块的分离设计,使整个系统的结构清晰。
在本系统上在界面和功能上还有很大改进的地方,许多的查询代码可以修改下添加一个查询函数query()简化代码,和对数据库的链接可以用一个类来完成,其他对数据库的操作可以用这个类的对象来完成,简化程序。系统功能还可以加上管理员对租赁记录的查询操作,完成利润的功能的计算,统计各种款项,其次是可以添加一些对用户的服务等,使服务更好,更周到。
还使我们认识到了系统分析的重要性,系统分析工作的主要任务是明确问题、确定问题,了解用户的信息需求。由于对于用户信息需求的最大限度往往是软件开发成败的关键,而用户大都不是计算机专业人员,引导他们从规范和专业的角度考虑需求是重要的。由于明白这一点的重要性,在软件开发开始的时候就重视这一点,从而避免了多走弯路,加快了系统开发的进程。
而且,一本好的参考资料往往能够使
展开阅读全文