📄 databaseconnector.java
字号:
package myprojects.databaseconnector; //预订&取消预订放在一个包中
import java.io.*;
import java.sql.*;
import java.util.Vector;
import java.util.*;
//-----------------导入自定义的包---------------------------
import myprojects.guestroom.GuestRoom;
import myprojects.reserve.*;
import myprojects.checkin.*;
import myprojects.Account.*;
import myprojects.historyguest.*;
import myprojects.reckoning.*;
/**
* @(#)GuestRoom.java
*
* 数据库连接器
*
* @author
* @version 1.00 05/12/25
*/
public class DatabaseConnector{
//存放空房间列表,用于预订&登记时候的房间查询
//Vector blankRoomList = new Vector();
//存放预订信息列表,用于取消预订&预订登记时候的查询
//Vector reserveInfoList = new Vector();
//Vector checkInInfoList = new Vector();
/////////////////////////////
//construction
public DatabaseConnector(){
System.out.println("数据库连接器");
}
public Vector getReckoningInfo(){
Vector reckoningInfo=new Vector();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
String sql=
"select reckoningId,checkInGuestId,"+
"income,tradeDate ,"+
"accountId from ReckoningInfo ";
PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件
ResultSet resultset=prepareState.executeQuery();//执行数据库查寻
while(resultset.next()) {
Reckoning reckoning=new Reckoning();
reckoning.reckoningId = resultset.getInt("reckoningId");
reckoning.checkInGuestId = resultset.getString("checkInGuestId");
reckoning.income = resultset.getFloat("income");
reckoning.tradeDate = resultset.getString("tradeDate").trim();
reckoning.accountId = resultset.getString("accountId").trim();
reckoningInfo.addElement(reckoning);
}
resultset.close(); //关闭数据库连接
connect.close();
}catch (Exception e) {
e.printStackTrace();
}
System.out.println("reckoningInfo's size: "+reckoningInfo.size());
///////////////////////////////////
return reckoningInfo;
}
public Vector getAllHistoryGuestList(){
Vector allHistoryList=new Vector();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
String sql=
"select historyGuestId,firstCheckInId,"+
"certificateKind,certificateId ,"+
"guestName,totalStayNum,totalExpense from HistoryGuestInfo ";
PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件
ResultSet resultset=prepareState.executeQuery();//执行数据库查寻
while(resultset.next()) {
HistoryGuest hGuest=new HistoryGuest();
hGuest.historyGuestId = resultset.getInt("historyGuestId");
hGuest.firstCheckInId = resultset.getInt("firstCheckInId");
hGuest.certificateKind = resultset.getInt("certificateKind");
hGuest.certificateId = resultset.getString("certificateId").trim();
hGuest.guestName = resultset.getString("guestName").trim();
hGuest.totalStayNum = resultset.getInt("totalStayNum");
hGuest.totalExpense = resultset.getDouble("totalExpense");
allHistoryList.addElement(hGuest);
}
resultset.close(); //关闭数据库连接
connect.close();
}catch (Exception e) {
e.printStackTrace();
}
System.out.println("allHistoryList's size: "+allHistoryList.size());
///////////////////////////////////
return allHistoryList;
}
public void saveDeleteRoomInfo(String dRId){
String deletedRoomtId = dRId; //被删除的帐户信息
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
////////////////////////////////////删除帐户信息
String sql="delete from GuestRoom where guestRoomId=?";
PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件
prepareState.clearParameters();
prepareState.setString(1,deletedRoomtId);
int result = prepareState.executeUpdate();
if(result==1) //成功更新数据库
{
System.out.println("删除帐户信息成功");
}else{
System.out.println("删除帐户信息失败");
connect.close();
return;
}
}catch (Exception e) {
e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
}
}
public void saveNewRoomInfo(GuestRoom gr){
GuestRoom room = new GuestRoom();
room=gr;
//保存新建房间的信息
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
////////////////////////////////////
String sqlInsertNewInfo=
"insert into GuestRoom(guestRoomId,roomClass,"+
"roomFee,roomState,roomPhoneNumber) "+
" values(?,?,?,?,?)";
PreparedStatement prepareStaters=connect.prepareCall(sqlInsertNewInfo);
prepareStaters.clearParameters();
prepareStaters.setString(1,room.guestRoomId.trim());
prepareStaters.setString(2,room.guestRoomClass.trim());
prepareStaters.setInt(3,room.guestRoomFee);
prepareStaters.setInt(4,room.guestRoomState);
prepareStaters.setString(5,room.guestRoomPhone);
int result = prepareStaters.executeUpdate();
if(result==1) //成功更新数据库
{
System.out.println("新建房间成功");
}else{
System.out.println("新建房间失败");
connect.close();
return;
}
}catch (Exception e) {
e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
}
}
public void savePersonalSettingInfo(Account ainfo){
//更新修改帐户的信息
//修改个人设置,其实对于数据库来说,还是帐户信息的修改
saveModifyAccountInfo(ainfo);
}
public void saveModifyAccountInfo(Account ainfo){
//更新修改帐户的信息
Account acc = new Account();
acc = ainfo;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
////////////////////////////////////删除帐户信息
String sqlupdateAccInfo=
"update AccountInfo "+
" set password=?,accountClass=?,accountName=?, "+
" accountSex=?, accountAddress=?,accountWage=? "+
"where accountId=?";
PreparedStatement prepareStaters=connect.prepareCall(sqlupdateAccInfo);//设定数据库查寻条件
prepareStaters.clearParameters();
prepareStaters.setString(1,acc.getPassword().trim());
prepareStaters.setInt(2,acc.getAccountClass());
prepareStaters.setString(3,acc.getAccountName());
prepareStaters.setInt(4,acc.getAccountSex());
prepareStaters.setString(5,acc.getAccountAddress());
prepareStaters.setInt(6,acc.getAccountWage());
prepareStaters.setString(7,acc.getAccountId());
int result = prepareStaters.executeUpdate();
if(result==1) //成功更新数据库
{
System.out.println("修改帐户信息成功");
}else{
System.out.println("修改帐户信息失败");
connect.close();
return;
}
}catch (Exception e) {
e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
}
}
///////////////////////////////////////////////////////////////////////////////
public void saveDeleteAccountInfo(String dAId){
String deletedAccountId = dAId; //被删除的帐户信息
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
////////////////////////////////////删除帐户信息
String sql="delete from AccountInfo where accountId=?";
PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件
prepareState.clearParameters();
prepareState.setString(1,deletedAccountId);
int result = prepareState.executeUpdate();
if(result==1) //成功更新数据库
{
System.out.println("删除帐户信息成功");
}else{
System.out.println("删除帐户信息失败");
connect.close();
return;
}
}catch (Exception e) {
e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
}
}
public Vector getAllAccountInfo(){
Vector accountList = new Vector();
//////////////////////////////////////////////////
try{
System.out.println("连接数据库。。。");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");
System.out.println("成功连接数据库");
String sql="select accountId,password,accountClass,accountName,accountSex,accountAddress,accountWage from AccountInfo ";
PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件
ResultSet resultset=prepareState.executeQuery();//执行数据库查寻
while(resultset.next()) {
Account accountInfo =new Account();
accountInfo.setAccountId(resultset.getString("accountId").trim());
accountInfo.setPassword(resultset.getString("password"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -