1、郑州大学西亚斯国际学院毕业论文设计与实现郑州大学西亚斯国际学院 本科毕业设计(论文)题 目 酒店管理管理系统 指导教师 张军丽 职称 讲师 学生姓名 李栋 学号 20051052150 专 业 信息管理与信息系统 班级 1班 专业学院(系) 计算机科学系 完成时间 2009年4月22日 酒店管理系统的设计与实现摘 要步入21世纪,计算机在管理信息系统(Management Information Systems,MIS)中应用的普及,利用计算机实现管理信息系统有助于企业或其他用人单位方便实现数据处理、预测功能、计划功能、控制功能和辅助决策功能。MIS是现代用人单位日常工作中必不可缺的一部分,是
2、适应现代管理制度的要求,推动用人单位信息管理走向科学化、规范化的必要条件。在这篇论文中简单介绍了酒店管理信息系统的背景及主要功能。并且以“酒店管理系统”为例开发了一个简单的MIS系统。由于系统是基于面向对象的开发平台,后台数据库则采用SQL Server 2000。本系统使用Java开发, Java程序设计语言是一种优秀的程序设计语言,具有简单、体系结构中立、高性能、可移植性等特点。集成开发环境选用了简单,实用,个头最小的Jcreator。Jcreator是目前最好的Java开发平台之一,可用于开发小型系统工程。特点是界面简单直观,安装方便,配合java sdk就可以直接实用。关键词:管理信息
3、系统,面向对象技术,Java ,数据库Realize & Design the System of hotel managementAbstractMarches into the 21st century, the computer in the management information system ( MIS) the application popularization, realizes the management information system using the computer to be helpful in the enterprise or other Emp
4、loyer facilitates realizes the data processing, the forecast function, the plan function, the control function and the auxiliary decision function. MIS is a part which in the modern Employer routine work must not be possible to lack, adapts the modern control systems request, promotes the Employer i
5、nformation management to move toward scientific, the standardized essential condition.Introduced the hotel management information systems background and the major function simply in this paper. And has developed a simple MIS system take “the hotel management system management system” as the example.
6、 Because the system is based on the object-oriented development platform, the backstage database uses SQL Server 2000.This system uses the Java development, the Java programming language is one kind of outstanding programming language, has, characteristics simply and so on architecture neutrality, h
7、igh performance, probability. The integrated development environment has selected simply, practical, smallest Jcreator. Jcreator best Java develops one at present platforms, may use in developing the small systems engineering. The characteristic is the contact surface simple direct-viewing, the easy
8、 installation, coordinates java sdk to be possible direct practical.Key word: MIS, object-oriented technology, Java, database.目录 摘 要IAbstractII绪论1系统分析1.1酒店管理系统研究的意义1.2设计的目的和内容1.3可行性分析2研究现状及设计目标2.1酒店管理信息系统存在的问题2.2 设计的目标及解决的方法3 JAVA语言的特点及意义3.1 java语言的特点3.2 java面向对象的基本概念3.3 类与对象的定义3.4 java其中的事件处理模型与数据库
9、的连接方法4 系统的总体设计4.1系统的功能简介4.2系统功能模块示意图4.3 功能需求与程序的关系5系统详细设计5.1系统流程简介5.2设计目标5.3开发及运行环境5.4数据库设计6系统中维护功能模块的具体实现6.1网络设置6.2系统设置6.3系统日志6.4数据备份7 系统性能测试与分析7.1 系统测试7.2 后台管理结束语致谢词参考文献附录1:数据库表绪论随着我国市场经济的迅速发展和人们生活水平的不断提高,酒店宾馆间的竞争日趋激烈,为在这场竞争中取得显著优势,就必须在管理上加以改善,尤其是近年来计算机的普及使得运用计算机进行管理不再成为一句空话,而酒店在客房上的管理尤为重要,为使客房管理高
10、效而又准确,快捷而又周全,如何利用先进手段,提高客房的管理水平,是每一个酒店管理者所面临的重要课题,因此酒店客房管理系统的开发正是利用高科技手段提高酒店管理的一条行之有效的途径,成为推动酒店快速发展的先决条件。 面对庞大的信息量,酒店在正常运营中需要对客房资源、顾客信息、结算信息进行管理,利用酒店管理信息系统及时了解保个环节中信息的变更,有利于提高管理的效率.通过这样的系统,可以做到信息的规范管理、需要统计和快速的查询,从而减少在管理方面的工作量。在某种意义上,酒店客房管理方面的信息化已成为现代化酒店的重要标志。该系统应充分利用信息技术提高酒店客房的管理水平、服务水平。酒店客房管理系统要实现住
11、宿登记、宿费提醒、追加押金、退房结账、挂账、查询统计等功能。其中宿费提醒可以在住宿费超过押金时,提示前台要客人补交宿费及押金,该功能可明显提高对住宿人员宿费的有效管理。将动态实时的住宿登记、追加押金等有机地联系在一起,对酒店宾馆客房进行全方位的管理,提高经济效益、提高服务质量、提高工作效率及全面了解营业情况。 1系统分析1.1酒店管理系统研究的意义酒店管理信息系统专供酒店工作人员查询以及为方便客户和酒店管理的一个平台,该系统的目的提供一个集中的场所,方便酒店人员对酒店的客户进行查询,能够方便客户和工作人员进行对自己的信息简单的查询以及管理员对其进行错误的修改。使酒店资源可以充分利用,为酒店带来
12、更大的利润。有效的对酒店的信息进行管理,提高工作效率。1.2设计的目的和内容1 目的本系统开发的主要目的就是要进行计算机管理,使酒店工作人员能够对客户的信息以及对酒店运营状态的更新、营业查询、修改,包括对工作人员的相关信息的查询,以此方便酒店的管理。2 内容酒店管理信息系统的主要任务是用计算机对酒店的客户的信息进行管理,如修改、更新、删除以及入住等,迅速准确地完成客户信息的提取,针对系统服务对象的具体要求,设计了酒店管理信息系统。酒店管理信息系统主要有以下几大功能:1、散客开单:完成散客的开单,可一次最多开5间相同类型的房间。2、团体开单:完成团体的开单,开放数量没有限制,可同时开不同类型的房
13、间。3、宾客结帐:自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作。4、客房预订:完成增加预订、修改预订、删除预订,预订情况的查询等功能。5、营业查询:完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询6、客户管理:完成会员基本信息的维护和来宾一览。7、网络设置:完成系统与数据库的连接设置和系统风格的设置。8、系统设置:完成房间项目、客户类型、操作员、计费设置。1.3可行性分析酒店管理系统为各类大中型酒店提供了宾客结帐、客房预订、营业查询,全面的为各类大中型酒店提供服务,帮助酒店更好运行管理,提高酒店的运营效率。酒店管理系统的强大功能越来越被酒店行业内的相关人士所
14、重视,酒店管理信息系统有很大的利用空间,希望能在酒店中发挥重要的作用。2研究现状及设计目标2.1酒店管理信息系统存在的问题本系统的在于成为一个方便酒店工作人员对客户信息查询的中转站,来方便对酒店信息管理,但是由于管理员的数量的限制,以至于好多信息是不能随时更改或者删除,也可能跟客服带来不便。虽然平台是有计算机来完成但是由于设计比较简单,数据库方面还存在着不足,由于数据库方面存在的不足,因此系统只是适合简单的查询法和简单的修改过程,适合校酒店的简单的操作,系统有待改善。2.2 设计的目标及解决的方法本系统是将现代化的计算机技术和传统的查询相结合,按照学院的需求设计完成的。为了使系统在酒店的管理中
15、发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1. 系统应具有实用性、可靠性和适用性,同时注意到先进性。2. 对数据库进行全面管理,防止混乱。3. 能够按照用户选择的不同的条件进行简单查询。4. 能够对查询结果进行分类汇总。5. 注意数据的安全性,具有数据备份和恢复的功能。6. 方便用户的操作,尽量增加用户的操作。7. 用户的安全性,要求具有用户密码。3 JAVA语言概述 做此系统主要是用java语言工具,因此必须对java语言有一定的了解。3.1 java语言的特点Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。Java语言的流行除了
16、因为它能够编制嵌入HTML文件中的Applet外,具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性动态的内存管理机制等。下面我们将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。 1、面向对象面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=
17、算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。多态性就是多种表现形式,
18、具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operatoroverload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车
19、是它们的“父亲”,而这些子实体则是汽车的“孩子”。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。2平台无关性 Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,表明用C或C+写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈
20、、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。Ja
21、va的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次Java的平台无关性正好迎合了“网络计算机”思想。如果大量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的用户将不需要占用大量空间安装软件,他们只需要一个 Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统。 3、分布式 分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的
22、不同主机上,操作分布是指把一个计算分散在不同主机上处理。 Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。 Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。4、可靠性和安全性 Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java虽然源于C+,但它消除了许多C+不可
23、靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对
24、本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。 5、多线程 线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。C和C+采用单线程体系结构,而Java却提供了多线程支持。 Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制
25、,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。必须注意地是,Java的多线程支持在一定程度上受运行时支持平台的限制。例如,如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。6、简单、高效Java语言与C类似,如果用户了解C和面向对象的概念,就可以很快编写出Java程序;此外,Java又不同于诸如C语言提供的各种各样的方法,它只提供了基本的方法,这样就减少
26、了编程的复杂性,例如去掉了头文件、指针变量、结构、运算符重载、多重继承等复杂特性。Java语言虽然简单,却很高效,它可以用面向对象的方法来描述用户的每一个动作。7、交互式特性 Java是面向对象的网络编程语言,由于它支持TCPIP协议,使得用户可以通过浏览器访问到Internet上的各种动态对象。并且在网络上用户可以交互式地进行各种动作,而多线程技术的引入使得这种交互式操作更为容易。8、动态的内存管理机制 Java语言采用了自动垃圾回收机制进行内存的管理。在C语言中,程序员在编写程序时要仔细地处理内存的使用,例如当某个内存快使用完毕时,要及时释放,以供其它程序使用,一旦内存管理不当,就有可能造
27、成内存空间浪费或程序运行故障。 在Java系统中包括了一个自动垃圾回收程序,它可以自动、安全地回收不再使用的内存块,这样,程序员在编程时就无需担心内存的管理问题,从而使Java程序的编写变得简单,同时也减少了内存管理方面出错的可能性。3.2 java面向对象的基本概念面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看做是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心、以算法为驱动的话,面向对象的编程语言则是以对象为中心,以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;
28、面向对象编程语言为:程序=对象+消息。所有面向对象编程语言都支持3个概念,即封装、多态性和继承,java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法连在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。java语言的封装性较强,因为java无全程变量,无主函数,在java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,java也提供了相应的对象类型以便与其他对象交互操作。3.3 类与对象的定义类是一组数据和
29、函数的集合,只是抽象的概念,它的作用就是生成对象,它生成对象后,就为这个对象分了一块存储区,类可以生成无限多个对象,每个对象都有自己的存储区,在类里定义的数据和函数在这个对象里都有了。 类生成的不同对象都有自己不同的存储区,所以每个对象的数据和函数都存在不同的地方,改变了这个对象的数据不会印象另一个对象的数据,但是加了static后,数据和函数就是静态的了,静态的数据或函数存在一个存储区,因为是存在一个地方,所以所有对象对这个数据是共有的,只要它一改变,所有对象的这个数据都会改变。3.4 java其中的事件处理模型与数据库的连接方法通过odbc访问数据库,先来设置odbc:打开你的odbc数据
30、源(在运行中输入odbcad32或者从控制面板进入)-选择系统dsn(Click加新的dsn-)-接下来输入选择数据库类型、输入dsn名:、选择服务器、连接数据库的方式、输入数据库的登陆用户和密码-测试连接,如果测试成功的话,那么你的dsn就建立好了。4 系统的总体设计4.1系统的功能简介系统开发的总体任务是实现宾馆信息关系的系统化,规范化和自动化。实现的功能主要有:1.有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有电视机、电话以等。2.客房标准信息的修改、查询等。3.客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等;客房
31、基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。4.订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、备注信息等。5.订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。6.结算信息的输入,包括客房编号、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、结算日期、备注信息等。系统功能分析是在系统开发设计的总体任务基础上完成的,本系统需要完成的主要功能有:1.系统管理:系统密码设置,操作员进入系统以后,为了安全可以修改用户的登陆密码;2.客房管理:客房设置
32、,对客房信息进行添加、删除;客房查询对现有的客房信息进行快速查询;3.订房信息管理:客户订房,客人可以预先预订房间,系统可以将客人的信息登记道数据库中,并给客人留出房间;浏览所有客户,可以快速的了解现有客人的基本信息;客户退房,当客人退房时,进行资金的核算;客人的查询,对现入住的客人进行精确查询;4.收银管理:宿费提醒,当客人入住交纳的押金不足时,系统可以及时地提醒,以方便客人对入住情况的了解;追加押金,当客人继续入住,并系统提醒押金不足时,客人续交押金,并添加到数据库中;5.历史信息:订房历史查询,对过去订房信息的统计,可以使酒店管理者对酒店的客流量由直观的了解;收支历史查询,对过去的收支情
33、况的统计,方便了酒店的财务工作。4.2系统功能模块示意图登录界面主框架窗口散客开单团体开单宾客结帐客房预订营业查询客户管理网络设置系统设置离店宾客查询房间项目设置客户类型设置操作员设置计费设置在店宾客查询全部宾客查询结帐单查询会员信息维护来宾信息一览参数设置JDBC连接图4-1 酒店管理系统4.3 功能需求与程序的关系功能需求散客开单团体开单宾客结帐房间预定营业查询客户管理网络设置系统设置开单结帐房间查询结帐查询宾客查询会员设置操作员设置房间设置房间预定数据库连接方式 图4-2 功能需求5系统详细设计 5.1系统流程简介在本系统中,住宿的客人可以通过两种途径入住酒店,实现订房。客人以直接到前台
34、办理入住手续,进行前台登记。前台服务人员根据客人的需要,进行客房查询,找到满足客人要求的客房,登记客人的信息,客人交纳住房押金后便可入住。另一种方式,是客人可以预先预订客房。前台服务人员通过对预订客房的查询和订房客人的要求,安排客人的所住房间,并且给预订的客人设置订房编号。当客人来到酒店后,交纳住房押金后便可入住。酒店的管理人员可通过系统,进行入住客人押金情况了解。系统可以根据管理者的操作,统计出当时入住客人的押金数量,使管理者了解哪位客人的押金不足,以便提醒客人续交押金。当客人就续入住时,可将新增的押金注入。客人结帐的时候,管理者可通过系统进行资金的处理。根据客人的入住时间,以及客人宿主的房
35、间单价,计算出客人实际所花费的金额。收取客人实际费用后,客人便可以退房离开。 本系统所处理的数据流程图,如图5-1所示。图5-1酒店信息管理系统流程图5.2设计目标满足客户的需求,实现酒店管理的流程。主要功能包括散客开单、团体开单、宾客结帐、客房预订、营业查询、客户管理、网络设置、系统设置等等。5.3开发及运行环境硬件平台:CPU:P41.8GHz;内存:256MB以上。软件平台:操作系统:Windows 2000xp;数据库:SQL Server 2000;服务器:IIS5.0以上;浏览器:IE5.0,推荐使用IE6.0;分辨率:最佳效果1024*768像素。5.4数据库设计本系统采用SQL
36、 Server 2000 数据库,系统数据库名为DB_jiudian,数据库DB_jiudian中包括多个数据表。关于数据库中的数据表请参见附录1。6系统中维护功能模块的具体实现 6.1网络设置设置数据库的连接方式:图1图2* 点击菜单“系统维护网络设置”进入“网络设置”界面。如是ODBC连接方式的用户请选择参数设置(图1)便可选择连接方式为ODBC,输入数据源名称(数据库名称)点击测试按钮,如测试成功则测试结果会显示测试成功,系统会自动提示连接成功清退出系统重新进入系统。如是JDBC连接方式的用户请选择参数设置(图1)在选择连接方式JDBC,然后点击JDBC连接设置(图2)便可输入数据库名称
37、、登录用户名、登录密码、服务器IP、服务器端口,点击测试按钮,如测试成功则测试结果会显示测试成功,系统会自动提示连接成功清退出系统重新进入系统。代码实现如下:package com.sunshine.sunsdk.sql;import java.sql.*;import javax.swing.*;import javax.swing.table.*;import com.sunshine.sunsdk.system.*;public class sunsql private static Statement ste = null;private static Connection conn
38、= null;static try if(sunini.getIniKey (Default_Link).equals (1) /JDBC连接方式String user = sunini.getIniKey (UserID);String pwd = sunini.getIniKey (Password);String ip = sunini.getIniKey (IP);String acc = sunini.getIniKey (Access);String dbf = sunini.getIniKey (DBFname);String url = jdbc:microsoft:sqlse
39、rver:/ + ip + : + acc + ; + databasename= + dbf;/注册驱动DriverManager.registerDriver (new com.microsoft.jdbc.sqlserver.SQLServerDriver();/获得一个连接conn = DriverManager.getConnection (url, user, pwd);else /注册驱动/JDBCODBC连接方式DriverManager.registerDriver (new sun.jdbc.odbc.JdbcOdbcDriver();/获得一个连接conn = Drive
40、rManager.getConnection (jdbc:odbc: + sunini.getIniKey(LinkName);/设置自动提交为falseconn.setAutoCommit (false);/建立高级载体ste = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); catch (Exception ex) JOptionPane.showMessageDialog (null, 数据库连接失败., 错误, JOptionPane.ERROR_MESSAGE);
41、 System.exit(0); /ex.printStackTrace(); /End tryprivate sunsql()public static int executeUpdate(String sql) /System.out.println (Update SQL : + sql);int i = 0 ;try i = ste.executeUpdate(sql) ;mit();catch(Exception e) e.printStackTrace() ;/End tryreturn i ;public static int runTransaction (String upd
42、ateCode) int ok = 0, i = 0;int row = updateCode.length;/更新语句的数量try for (i = 0; i row; i+) ok = ste.executeUpdate (updateCodei);/执行SQL语句if(ok = 0) /如果不成功,则跳出循环System.out.println (sunsql.runTransaction(): updateCode + i + 失败 + ok);break;System.out.println (sunsql.runTransaction(): updateCode + i + 成功
43、+ ok);/根据变量 ok 判断上面循环是否正常运行完毕if(ok = 0) conn.rollback ();/(ok = 0)表示更新过程中出错,回滚数据System.out.println (sunsql.runTransaction(): Update data false, rollback);else mit ();/(ok != 0)基本上是所有SQL语句运行成功, 则提交给数据库System.out.println (sunsql.runTransaction(): Update finish); catch (Exception ex) System.out.println
44、 (sunsql.runTransaction(): Update false .); return i;public static ResultSet executeQuery(String sql) /System.out.println (Query SQL : + sql);ResultSet rs = null ;try rs = ste.executeQuery(sql) ;catch(Exception e) e.printStackTrace() ;/End tryreturn rs ;public static int recCount(ResultSet rrs) int i = 0;try