活期账目储蓄管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
银行作为一个金融机构,在现代人们的生活中扮演着极其重要的角色。
为生活节凑飞快的现代人提供快速、便捷、高效的理财服务。
伴随着电脑技术的发展,各大银行的储蓄管理系统也随之出现在这一舞台上。
本次研究开发的目的是设计并实现一个活期储蓄账目管理系统的基本业务。
本文介绍了活期储蓄账目管理系统,并深入分析活期储蓄账目管理系统的设计和各个功能模块的实现。
系统主要分为五个大的模块:储户开户模块、储户销户模块、储户登录模块、储户的账号存款、取款模块,能够实现对储户的自然信息进行管理,对储户账户信息进行管理,对当天交易进行统计,以及查询指定用户的交易信息。
系统充分采用了模块化的设计思想,将各种功能进行封装,提高了系统的整体扩展性,经使用证明该系统运行良好。
关键词:算法数据结构管理
Title Current savings account management system
Abstract
Bank, as a financial institution, in modern plays an extremely important role in people's lives. For modern living section of Minato quickly with fast, convenient, and efficient financial services. Along with the development of computer technology, the major bank savings management system also arise at this stage.
This research aims to design and implement a basic business checking savings account management system. This article describes the current savings account management system, and in-depth analysis of current savings account management system design and realization of each functional module.System is divided into five modules: customer account login module, customer sales module, savers account deposit, withdrawal of modules, savers can be achieved naturally information management, to manage customer account information, trading statistics on that day, and the query transaction information for the specified user.
Full systems with modular design concept, package various functions, improve the overall scalability of the system, the used result shows that the system is running well.
Keywords:Algorithm Data structure Management
目录
1 绪论 (1)
1.1 研究开发目的和意义 (1)
2 活期储蓄账目管理系统开发技术 (2)
2.1 C++语言简介 (2)
2.2 Visual Studio 2005开发平台 (2)
2.3 活期储蓄账目管理介绍 (4)
3 系统分析 (5)
4 系统设计 (5)
4.1 系统模块设计 (5)
4.1.1登录功能模块的分析 (6)
4.1.2用户自然信息管理功能模块的分析 (6)
4.1.3账户信息管理功能模块分析 (7)
4.1.4当天交易统计功能模块的分析 (7)
4.1.5用户交易查询模块的分析 (7)
4.2 系统设计所采用技术 (7)
4.3 数据库结构设计 (8)
4.4 函数设计 (10)
4.5 关键流程 (11)
4.5.1系统函数调用流程 (11)
4.5.2系统执行流程 (12)
4.5.3功能详细执行流程 (13)
5 调试分析 (15)
6 测试及运行结果 (16)
6.1登陆功能 (16)
6.2主操作界面 (17)
结论 (27)
致谢 (28)
参考文献 (29)
1 绪论
随着科技的提高和社会的日益发展,21世纪已经进入到了信息、网络的高科技时代,互联网逐渐普及,社会现代化的脚步不断加快,人们的生活也随之向着多元化的方面发展。
现今的社会,资金流动十分频繁。
不单单是企业、产商,个人也不例外。
银行作为一个金融机构,在现代人们的生活中扮演着极其重要的角色。
为生活节凑飞快的现代人提供快速、便捷、高效的理财服务。
伴随着电脑技术的发展,各大银行的储蓄管理系统也随之出现在这一舞台上。
[1]
1.1 研究开发目的和意义
本次研究开发的目的是设计并实现一个活期储蓄账目管理系统的基本业务。
能够实现对储户的自然信息进行管理,对储户账户信息进行管理,对当天交易进行统计,以及查询指定用户的交易信息这四项主要功能。
详细的功能包括:用户开户(填写个人详细信息)、销户;用户存入以及支出;统计当日开户销户数量以及交易金额;并且通过输入指定用户编号查询该用户交易信息。
软件采用可视化界面,操作简单方便。
本论文限于程序的特性,编写语言是C++语言,开发平台则是微软的Visual Studio 2005。
同时,本系统的开发采用了面向对象的方法,将系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,给模块功能的增加与修改带来了方便,从而使得整个软件的可扩展性大大加强。
整个软件在编写过程中,采取了规范化的代码书写形式以及清晰的程序注释,使得代码的理解更加容易更加方便。
2 活期储蓄账目管理系统开发技术
2.1 C++语言简介
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。
它是一种使用非常广泛的计算机编程语言。
C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。
它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
[7]
C++支持C语言的几乎全部功能,主要是c89的部分,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C++标准文献)。
C++语言原本不具备面向对象的设计功能,然而随着面向对象编程的概念的提出以及如Java等语言的发展成熟,C++语言也开发出了支持面向对象功能的版本。
C++强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率。
C++在一定程度上可以和C语言很好的结合,甚至目前大多数C语言程序是在C++的集成开发环境中完成的。
C++相对众多的面向对象的语言,具有相当高的性能。
C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。
很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。
[3][4]本设计经过比较分析,选择C++来开发。
2.2 Visual Studio 2005开发平台
2.2.1 全新特性帮助用户应对挑战
Visual Studio 2005增加了许多独特的功能,使整个系列产品更加成熟和完善。
它是为用户开发的产品,是深入分析用户的需求,为用户提供功能强大、高度集成的软件产品。
它主要包括如下新特性:
①语言和IDE
各有特色和创新的四种语言(Visual Basic, Visual C++, Visual C#和Visual J#)将丰富编程体验IDE的改进、提供个性化是提高生产力的保证。
[14][15]
② ·NET Framework 2.0
提供一个可靠的应用平台,为构建安全、高性能、关键业务的解决方案提供了坚实基础。
③ Microsoft Office解决方案的开发
增强在Microsoft Office Excel 2003和Microsoft Office Word 2003上面开发解决方案的能力。
④ SQL Server 2005解决方案的开发
SQL Server 2005集成到Visual Studio 2005的IDE中,可以对数据库对象进行开发和调试。
[12]
⑤企业开发和软件生命周期管理
Visual Studio Team System可以使软件开发团队在开发过程中降低工作复杂度,是提高生产和协作能力的高效率、集成性、可扩展的软件生命周期管理工具。
2.2.2 强大的集成环境让你心花怒放
Visual Studio 2005的很多新功能大大简化了开发步骤,提高了开发效率,让开发人员编写软件得心应手。
PhotoThinking的所有功能均是在Visual Studio 2005集成开发环境下采用C#语言开发完成。
下面列举5点来谈谈从Visual Studio 2005得到的新体验。
①分割文件
Visual C# 2005允许将一个不完全类型分开写到多个文件中。
它使C#开发人员能够使用不完全类型,将包含大量源代码的类型分割到多个不同源文件中。
不完全类型提供更方便的开发和代码维护,使开发人员能够分隔开设计器自动生成和用户编写的类型部分,以便更有效地补充或修改由工具生成的代码。
例如,新建一个Windows form后,IDE会自动生成一些代码,我们会看到一个很明显的地方,就是它在类名前多加一个修饰符partial,同时我们还会在解决方案资源管理器中发现系统多产生了一个后缀为Designer.cs的文件。
②编码风格
Visual C# 2005对代码的编写风格非常讲究,能随时对正在编辑的代码块自动进行分段并缩进。
这极好地纠正了部分编码人员不合适的风格,产生一种潜移
默化的影响。
例如,在一个菜单项的Text属性中输入该菜单的描述文字,则IDE会自动以Camel 变量命名方式对该菜单进行命名。
当我们每输入完一条语句,IDE会自动对这段代码进行缩进。
③跟踪提示
当我们在编写代码时,IDE会自动跟踪提示相关的类、结构体、枚举、变量等信息。
这极大地提高了编程人员的输入速度,并保证了编码的正确性。
也许编程人员只需敲几下空格和回车,按了几下方向键就可以轻松搞定一段代码。
这对于Visual C# 2005来说,已不再是神奇的事了。
④控件多样化
用Visual C# 2005新建一个项目,在IDE的工具箱中可以看到品种繁多的工具,让人眼花缭乱。
在那上面随便动动鼠标,就可以拖出一个实用的工具来。
PhotoThinking的主界面混合使用了MenuStrip、ToolStripContainer、ToolStrip 和StatusStrip等控件,做出来的总体效果就很让人满意了。
⑤调试方便
在调试程序的时候,经常会遇到这样的情况:当调试一大段代码时,遇到了一个小小的错误,比如参数赋值错误了,这时候,我们往往希望能够马上将这个小错误改正过来,并能够继续跟踪调试下去,而不用结束整个调试过程去修改。
在Visual Studio 2003中,我们必须停止当前的调试,修改完出错的地方,再重新编译,这样十分不方便。
然而Visual Studio 2005提供了一个“edit and continue”的新功能,当你在调试时,遇到了小的错误需要马上修改,可以直接进行编辑修改,然后继续往下调试,不需要结束整个调试过程,当你修改完毕后,调试器会在后台自动地进行编译,并且执行的是修改后的新代码,十分方便。
[5]
2.3 活期储蓄账目管理介绍
在这里首先解释一下活期储蓄的定义,活期储蓄指无需任何事先通知,存款户即可随时存取和转让的一种银行存款,其形式有支票存款帐户,保付支票,本票,旅行支和信用证等.活期存款占一国货币供应的最大部分,也是商业银行的重要资金来源.鉴于活期存款不仅有货币支付手段和流通手段的职能,同时还具有较强的派生
能力,因此,商业银行在任何时候都必须把活期存款作为经营的重点.但由于该类存款存取频繁,手续复杂,所费成本较高,因此西方国家商业银行一般都不支付利息,有时甚至还要收取一定的手续费。
活期储蓄管理系统是由银行人员来进行操作,用户通过该系统可以进行存款、取款、销户等业务。
该系统在金融业给人民带来了很大的方便,系统开发成功后,一旦应用于银行领域,会给管理员与用户带来很大的方便,其主要作用具体如下:
1、可以代替营业员进行许多繁杂的手动操作
2、给用户带来了很大的方便
3、可以节省许多人力资源
4、可以提高人们的工作效率
活期储蓄账目管理系统主要是由于在活期储蓄处理中,储户开户、销户、存入、支出活动频繁,为实现储户的各种操作而设计的,本课程设计的主要功能包括实现储户开户、销户、存入、支出等活动,为了能比较迅速找到账户,实现这样的几个功能,就要通过链表来存储数据结构,其结构则按照C语言的相关知识定义结构体,其中储户开户、销户就是实现链表的插入与删除,而存入、支出等活动则是实现链表中结点的查找,然后进行更改。
[9]
3 系统分析
设计并实现一个活期储蓄账目管理系统的基本业务。
能够实现对储户的自然信息进行管理,对储户账户信息进行管理,对当天交易进行统计,以及查询指定用户的交易信息这四项主要功能。
详细的功能包括:用户开户(填写个人详细信息)、销户;用户存入以及支出;统计当日开户销户数量以及交易金额;并且通过输入指定用户编号查询该用户交易信息。
软件采用可视化界面,操作简单方便。
[2]
4 系统设计
4.1 系统模块设计
本程序一共分为五个大功能模块,包括管理员登陆模块,用户自然信息管理模
块,用户账户信息管理模块,当天交易统计模块以及查询用户交易信息模块。
每个模块下还包含若干个子模块,模块中的若干函数分别实现了各个功能。
系统主模块图如图4.1所示。
[6]
图 4.1 系统主模块图
4.1.1登录功能模块的分析
管理员通过输入自己的用户名密码登录该管理系统,进行各种业务操作,如果用户名密码不匹配,则显示密码错误并且重新登录。
4.1.2用户自然信息管理功能模块的分析
本模块主要实现对用户自然信息进行管理。
其中包括储户的开户和销户操作。
通过输入账户的详细信息在数据库中添加或删除该账户。
储户开户子模块
每当有新的储户在银行开户时,则首先登记储户的个人信息,包括:编号、姓名、身份证号码、银行密码以及首次存款金额。
提交后则在数据库中形成了该储户的自然信息,可供以后交易和查询。
储户销户子模块
该模块通过输入储户的编号在数据库中查询到该用户注销其账号以及密码,并用户自然信息管理模块 管
理
员
登
陆 活期储蓄账目管理系统
管理员登陆模
块 用户账户信息管理模块 当天交易统计模块 查询用户交易信息模块
储户存款 储户销户 储户开户 储户取款 统计当日存入支出信息 统计当日开户销户信息 查询某一储户交易信息
删除其全部信息,实现销户功能。
4.1.3账户信息管理功能模块分析
该模块主要对储户的账户信息进行管理。
其中包括用户的存入和支出操作。
通过输入用户的编号在数据库中查询到相应的用户并对其账户信息进行修改。
储户存入操作子模块
该模块实现了用户的存款功能。
通过输入用户的编号和存入金额,在数据库中查询到相应的用户并修改其余额,达到对用户存款功能的实现。
储户支出操作子模块
该模块实现用户的取款功能。
通过输入用户的编号和取款金额,在数据库中查询到相应的用户并修改其余额,达到对用户取款功能的实现。
4.1.4当天交易统计功能模块的分析
开户和销户统计子模块
该模块实现了将当天开户和销户的账户分类排列并显示出来的功能。
显示了:开户(或销户)用户的编号、开户(或销户)时间。
查询后可以返回信息统计界面继续进行其他查询操作。
方便管理人员统计与查询。
存入和支出统计子模块
该模块实现了将当天存款和取款用户的信息(包括:编号、操作时间、存款金额)分别排列显示出来的功能。
方便管理员查询、统计。
操作完成后可以返回信息统计界面继续进行其他查询操作。
4.1.5用户交易查询模块的分析
该模块只需输入用户在银行的编号,在数据库中查询到该用户,并将该用户的全部操作信息显示(包括存取操作、存取时间、及存取金额)。
实现查询指定用户交易信息的功能。
4.2 系统设计所采用技术
本次课程设计主要用到了MVC(M-mode,V-view,C-control)思想,其目
的是使分层更加明确,使程序易读和维护。
M层主要用到的技术是javabean等,C层主要用到的技术是actionServlet,使用了struts的框架进行开发,通过重写action中的execute()方法,实现不同的功能,使用return XXXX的方法进行页面的跳转。
V主要的技术是jsp技术。
把不同的类型的类封装到不同的包中,其中访问包中的类得权限有四种,分别是public、private、protected和默认,根据不同的情况来用不同的权限。
[9][10]
系统在control层设计了如下类,并在数据库中代表相应操作,对程序进行控制,具体设计如表4.2.所示:
表4.2操作类列表
类功能描述对应数据库操作
AddCountAction 实现开户的功能在数据库中添加开户信息
DelCountAction 实现销户的功能在数据库中将某指定用户信息清除
DeleteCountAction 实现统计销户记录的功能在数据库中添加销户记录DepAction 实现存款记录功能在数据库中增加存款记录DepositAction 实现存款功能在数据库中修改用户账户余额LoginAction 实现登录功能在数据库中添加管理员信息OpenCountAction 实现统计开户记录的功能在数据库中增加开户记录SearchUserAction 实现查询用户交易信息的功能在数据库中查询用户交易信息WitAction 实现取款记录的功能在数据库中增加取款记录WithdrawAction 实现取款的功能在数据库中修改用户账户余额
4.3数据库结构设计
选用mysql数据库对表进行设计,其中共包括了4张表。
分别为count表、cash-record表、count-record表、以及manager表。
具体内容如下:[11][13] count用户信息表,其中包括对储户的个人信息、密码以及存款金额的字段。
具体如表4.3所示。
表4.3 count表
字段字段类型是否为空键型注解
ID INTEGER NOT NULL PRIMARY KEY 编号
CID V ARCHAR(45) NOT NULL 用户编号PASSWORD V ARCHAR(45) NOT NULL 密码
NAME V ARCHAR(45) NOT NULL 姓名
IDEN V ARCHAR(45) NOT NULL 身份证号码MONEY V ARCHAR(45) NOT NULL 余额
TIME V ARCHAR(45) NOT NULL 开户时间
cash-record账户交易记录表,其中包括操作基本信息的字段。
具体内容如表4.4所示。
表4.4 cash-record表
字段字段类型是否为空键型注解
ID INTEGER NOT NULL PRIMARY KEY 编号
CID V ARCHAR(45) NOT NULL 用户编号
TIME V ARCHAR(45) NOT NULL 操作时间TEMP V ARCHAR(45) NOT NULL 操作名称MONEY V ARCHAR(45) NOT NULL 存取金额
Count-record开户销户记录表,其中包括开户销户操作信息如操作时间。
具体内容如表4.5所示。
表4.5 count-record表
字段字段类型是否为空键型注解
ID INTEGER NOT NULL PRIMARY KEY 编号
CID V ARCHAR(45) NOT NULL 用户编号
TIME V ARCHAR(45) NOT NULL 开户销户时间TEMP V ARCHAR(45) NOT NULL 具体操作类别
manager管理员表,包含管理员的编号和密码。
方便管理员进行登录管理。
具体内容如表4.6所示。
表4.6 manager表
字段字段类型是否为空键型注解
ID INTEGER NOT NULL PRIMARY KEY 编号
CID V ARCHAR(45) NOT NULL 管理员编号PASSWORD V ARCHAR(45) NOT NULL 登陆密码
4.4函数设计
对于实现活期储蓄账目管理系统的主要功能,主要设计了如下函数,具体函数名称、变量以及作用如表4.7所示。
表4.7 函数列表
函数名称函数原型功能描述
login public boolean login(string userid,st
ring password)
用户登录函数
addCount public void addCount(string cid,stri
ng iden,string name,string money,str
ing password,string time)
用户开户函数
addCountRecord public void addCountRecord(string
cid,string time,sring temp)
增加开户销户记录函数
openCount public list〈count〉openCount (strin
g name,string temp)
返回开户记录函数
cash public list〈cash〉cash(string time,st
ring temp)
查询当日存取记录函数
addcashRecord public list〈cash〉cash(string time,st
ring temp)
增加存取款记录函数
search public list〈cash〉search(string cid) 查询具体用户交易函数
withdraw public boolean withdraw(String cid,
string change)
取款函数
delCount public boolean delCount(String cid) 用户销户函数check public string check(String cid) 检验账户是否存在
deposit public boolean deposit(String cid,str
ing change)
存款函数
4.5 关键流程
4.5.1 系统函数调用流程
当进入该系统时,首先进入一个登陆页面,登录页面是该系统的首页面,用来让管理员登录,当输入的管理员编号和密码都正确时,成功跳到主页面显示,当用户通过登录窗口的表单跳到LoginAction类,用来判断配置信息,判断管理员编号和登录密码,如果编号或密码有错,返回页面显示错误信息提示重新登录,如果信息正确,则登录成功,并且把登录人的信息以对象的形式放到session缓存中,以便后用,然后跳到主操作页面,登录后实现相关操作。
登陆成功后,跳转到main.html进行其他具体操作。
在用户自然信息管理中可进行开户操作,具体在addcountAction类中实现、销户操作在DeleteCountAction 类中实现。
对用户账户信息管理使用了DepositAction类实现存款功能、WithdrawAction类实现取款功能。
并且使用DepAction类和WitAction类对当天交易进行统计。
还可以调用check类对指定编号的储户交易记录进行查询。
通过顺序调用功能函数逐步实现各个功能。
系统总调用流程图如图4.2所示。
图4.2系统函数调用流程图
4.5.2系统执行流程
当客户端发出请求,以get 或post 方式提交到web.xml 配置文件当中,检查是否有相对应的映射信息,如果有,则跳转到Action 中,如果没有,则返回页面。
成功跳转到servlet 中后,在get 或post 方法当中获取参数,调用业务处理类的相
Login.jsp 发出请求,用来传递用户编号,密码。
MYSQL 的API
开始
结束
进入配置文件中找出请求所对应的响应
在struts.xml 中配置JSP 页面和Action
LoginAction 类,检查用户名和密码是否相符
到达业务类,执行相关数据库操作是否匹配数据
未匹配映射信息
匹配
Yes
No
关函数执行数据库操作。
系统的流程如图4.3所示:
图4.3 系统执行流程图
4.5.3功能详细执行流程
本程序主要实现四个大部分功能模块,共九个子功能,分别通过在各类中调
用相应函数具体实现个操作,下面以开户操作为例画出执行的具体流程,其他操作流程与该流程图基本一致,开户流程图如图4.4所示。
开始
JSP 页面发出请求,以post 方式提交参
数
在配置文件当中找出相对应的映射信息进
行匹配验证
未匹配映射信息
匹配
在action 类中excute()方法是否获
取页面参数
No
Yes
到达业务类,执行相关数据库操作
结束
开始
Add_count.jsp发出请求
在配置文件中找出对应的响应
在struts.xml中匹
配addcountAction
Yes
Addcount中调用具体方法修
改数据库中相应的值
No
检验操作是否成
功
Add-success.jsp Error.jsp Yes
No
结束
图4.4开户操作具体流程图
5 调试分析
(1) 插入中文问题
●问题描述:在数据库中使用sql语句后,插入则显示data too long ,无
法正常插入。
●问题分析:数据库中默认的是使用lant1的编码格式,此格式下无法插
入中文,如插入,则显示data too long;
●解决方法:在mysql的配置文件my.ini文件中把编码方式改成gbk格式。
(2) 参数获得问题
●问题描述:无法获得add_Count.jsp中的参数。
●问题分析:在addCountAction中未加入参数的get、set方法。
●解决方法:在addCountAction中增加具体的getXXX()、setXXX()方法拦
截获取页面传递的参数。
(2) 乱码问题
●问题描述:在页面上插入的中文无法正常的插入数据库中,插入后在数
据库中乱码。
●问题分析:主要是因为数据库中的编码格式和页面上的编码格式不同。
●解决方法:action在获取参数后,对参数进行打散重新编码,具体如:
name = new String (name.getBytes(“ISO8859-1”),”UTF-8”);
●其他方式相同。
(4) 空指针问题
●问题描述:
后台回报ng.NullPointerException
●问题分析:
所引用的值是空引起的错误,值无法从JSP页面传到Action中。
●解决方法:
检查JSP页面,在withdraw.jsp中的输入表单一项中加入id=”money”,
使得参数无法传递,加入代码后实现正常。
[8]
6 测试及运行结果
6.1登陆功能
运行程序后首先进入登陆界面,输入管理员名字和密码后登陆成功,若密码错误则返回重新登陆。
登陆界面如图6.1所示。
页面实现如下:
图6.1登陆界面
录入代码如下
public boolean login(String userid, String password) {
boolean flag = false;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
String sql = "select * from manager where userid=? and password = ?";
try {
conn = this.getConnection();
ps = conn.prepareStatement(sql);
ps.setString(1, userid);
ps.setString(2, password);
rs = ps.executeQuery();
if (rs.next()) {
flag = true;
return flag;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}
6.2主操作界面
管理员登陆成功后,进入用户主页面。
进行相应操作。
主界面如图6.2所示。
图6.2系统主界面
进入主界面后,可进行相应操作,如储户的开户操作,在相应的对话框中填入个人信息及密码。
在数据库中相应添加用户信息。
页面如图6.3所示。
图6.3用户开户界面
添加用户代码如下
public void addCount(String cid,String iden ,String name, String money ,String password ,String time){
Connection conn = null;
PreparedStatement ps = null;
String sql = "insert into count (cid,iden,name,money,password,time) values (?,?,?,?,?,?) ";
System.out.println(name);
try {
conn = this.getConnection();
ps = conn.prepareStatement(sql);
ps.setString(1, cid);
ps.setString(2, iden);
ps.setString(3, name);
ps.setString(4, money);
ps.setString(5, password);
ps.setString(6, time);
int n = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
也可以通过输入该用户的储户编号对用户进行销户操作。
同时在数据库中删除该用户的信息。
具体页面如图6.4所示。
图6.4销户操作界面
删除用户代码如下
public boolean delCount(String cid){
boolean flag =false;
Connection conn = null;
PreparedStatement ps = null;
String sql = "delete from count where cid=? " ;
System.out.println("delCount="+cid);
conn = this.getConnection();
try {
ps = conn.prepareStatement(sql);//预编译语句
ps.setString(1, cid);
int i = ps.executeUpdate();//执行语句
if (i != 0) {
flag = true;
return flag;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
conn.close();
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}。