⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.java

📁 Java语言编写的员工信息管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.sql.*;
import java.util.Vector;
import java.util.*;

public class Database {
	Connection connector;
	public Database(){ 		
		System.out.println("数据库连接器");	
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
			connector=DriverManager.getConnection("jdbc:odbc:Inn"," "," ");
		}catch (Exception e) {
            e.printStackTrace();
        }   		
	}
	
	//	从某个结果集获取房间信息
	public Room getRoomFromResultSet(ResultSet resultset){
		Room room = new Room();	
		try {
			room.id = resultset.getString("roomNo").trim();
			room.roomClass = resultset.getString("roomClass").trim();
			room.fee = Integer.parseInt(resultset.getString("roomFee").trim());
			room.state = resultset.getString("roomState").trim();
			room.phone = resultset.getString("roomPhone").trim();
			return room;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
        }		
	}
//	从某个结果集获取预定客人信息
	public ReserveGuest getReserveGuestFromResultSet(ResultSet resultset){
		ReserveGuest guest = new ReserveGuest();	
		try {
			guest.id = Integer.parseInt(resultset.getString("reserveGuestNo").trim());
			guest.name = resultset.getString("guestName").trim();
			guest.ArrivalDate = resultset.getString("arriveDate").trim();
			guest.entourageNum = Integer.parseInt(resultset.getString("guestCount").trim());			
			guest.StaffId = resultset.getString("staffNo").trim();	
			return guest;
		} catch (Exception e) {
			e.printStackTrace();// 把该 Throwable 和它的跟踪情况打印到标准错误流。
			return null;
        }		
	}
	//从结果集中获取所有入住客人的信息
	public EnrolGuest getEnrolGuestFromResultSet(ResultSet resultset){
		EnrolGuest guest = new EnrolGuest();	
		try {
			guest.id = Integer.parseInt(resultset.getString("enrolGuestNo").trim());
			guest.name = resultset.getString("name").trim();
			guest.sex = Integer.parseInt(resultset.getString("sex").trim());
			guest.certificateId = resultset.getString("IC").trim();
			guest.nationality = resultset.getString("nationality").trim();
			guest.entourageNum = Integer.parseInt(resultset.getString("guestCount").trim());
			guest.phone = resultset.getString("phoneNumber").trim();
			guest.address = resultset.getString("address").trim();
			guest.postalcode = resultset.getString("postalcode").trim();
			guest.ArrivalDate = resultset.getString("arrivalDate").trim();
			guest.desposit = Integer.parseInt(resultset.getString("deposit").trim());
			guest.ServiceExpenses = Integer.parseInt(resultset.getString("serviceExpenses").trim());
			guest.RoomExpenses = Integer.parseInt(resultset.getString("roomExpenses").trim());
			guest.CheckOutDate = resultset.getString("checkOutDate").trim();
			guest.StaffId = resultset.getString("staffNo").trim();	
			return guest;
		} catch (Exception e) {
			e.printStackTrace();// 把该 Throwable 和它的跟踪情况打印到标准错误流。
			return null;
        }		
	}
//	从某个结果集获取交易信息
	public Transaction getTransactionFromResultSet(ResultSet resultset){
		Transaction transaction = new Transaction();	
		try {
			transaction.id = Integer.parseInt(resultset.getString("transactionNo").trim());
			
			transaction.date= resultset.getString("transactionDate").trim();
			transaction.guestId = Integer.parseInt(resultset.getString("enrolGuestNo").trim());
			
			transaction.serviceId = resultset.getString("serviceNo").trim();
			transaction.serviceFee = Integer.parseInt(resultset.getString("serviceFee").trim());			
			transaction.staffId= resultset.getString("staffNo").trim();
			return transaction;
		} catch (Exception e) {
			e.printStackTrace();// 把该 Throwable 和它的跟踪情况打印到标准错误流。
			return null;
        }		
	}
	//客人享受服务的时候,为了安全, 获取入住客人信息
	public EnrolGuest getEnrolGuestForWaiterFromResultSet(ResultSet resultset){
		EnrolGuest guest = new EnrolGuest();	
		try {
			guest.id = Integer.parseInt(resultset.getString("enrolGuestNo").trim());
			guest.name = resultset.getString("name").trim();
			guest.phone = resultset.getString("phoneNumber").trim();			
			return guest;
		} catch (Exception e) {
			e.printStackTrace();// 把该 Throwable 和它的跟踪情况打印到标准错误流。
			return null;
        }		
	}
	
//	从某个结果集获取服务信息
	public Service getServiceFromResultSet(ResultSet resultset){
		Service service = new Service();	
		try {
			service.id = resultset.getString("serviceNo").trim();
			service.name = resultset.getString("ServiceName").trim();
			service.description = resultset.getString("ServiceDescription").trim();			
			return service;
		} catch (Exception e) {
			e.printStackTrace();// 把该 Throwable 和它的跟踪情况打印到标准错误流。
			return null;
        }		
	}
	
//获取空房列表
	public Vector getBlankRoomList()	{
		Vector roomList = new Vector();
		try{			
       		CallableStatement proc = 
       			connector.prepareCall("{ call sp_getBlankRoomList }");        	
        	proc.execute();        	
        	ResultSet resultset = proc.getResultSet();
			while (resultset.next()) {				
				Room room = new Room();	
            	room = getRoomFromResultSet(resultset);
				roomList.addElement(room);		//加入房间列表
            }            
        }catch (Exception e) {
            e.printStackTrace();
        }
		///////////////////////////////////		
		return roomList;		
	}
//	保存预订信息	
	public void newReserveInfo(Reserve ri) {
		Reserve reserveInfo = new Reserve();
		reserveInfo = ri;
		try {
			//添加预订客人个人信息,并生成标志号    	
			CallableStatement proc = connector
					.prepareCall("{ call sp_insertIntoReserveGuest(?,?,?,?) }");
			proc.setString(1, reserveInfo.reserveGuest.name);	
			proc.setString(2, reserveInfo.reserveGuest.ArrivalDate);
			proc.setInt(3, reserveInfo.reserveGuest.entourageNum);			
			proc.setString(4, reserveInfo.reserveGuest.StaffId);
			proc.execute();
			ResultSet resultset = proc.getResultSet();
			int guestId = 0;
			//获得预订客人标号(自动产生)
			while (resultset.next()) {
				guestId = resultset.getInt("reserveGuestNo");
				System.out.println("预订客户号码:" + guestId);
			}
			//更新客人的预订的房间信息    
			Room room = new Room();
			String roomId = "";
			for (Enumeration ee = reserveInfo.roomList.elements(); ee
					.hasMoreElements();) {
				room = (Room) ee.nextElement();
				roomId = room.id;				
				CallableStatement proc2 = connector
						.prepareCall("{ call sp_insertIntoReserve(?,?) }");
				proc2.setInt(1, guestId);
				proc2.setString(2, roomId);
				proc2.execute();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
//	获得数据库中的预订信息:reserveGuest, roomlist of the reserveGuest
	public Vector getReserveInfoList(){			
		Vector reserveInfoList=new Vector();
		try{
			//store procedure : sp_getAllGuestList
       		CallableStatement proc = 
       			connector.prepareCall("{ call sp_getReserveGuestList }");        	
        	proc.execute();        	
        	ResultSet resultset = proc.getResultSet();
			while (resultset.next()) {		
				Reserve reserveInfo = new Reserve();
				reserveInfo.reserveGuest = getReserveGuestFromResultSet(resultset);
				//存储该客人的预订信息到数组中			
            	reserveInfoList.addElement(reserveInfo);
            }     
			resultset.close();
        }catch (Exception e) {        	
            e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
        }
		//////////////////////////////////		
		try{
            for (int i=0;i<reserveInfoList.size();i++) 
  			{
  				Reserve reserveInfo = new Reserve();  					
  				reserveInfo=(Reserve)reserveInfoList.elementAt(i); 
  				int rgId = 	reserveInfo.reserveGuest.id;  	
  	       		CallableStatement proc = 
  	       		connector.prepareCall("{ call sp_getReserveRoomListByGId(?) }");        	
  	        	proc.setInt(1,rgId);
            	proc.execute();        	
  	        	ResultSet resultset = proc.getResultSet();
            	Vector RoomList = new Vector();             	          	           	
            	while(resultset.next()){
            		Room room=new Room();	
            		room = getRoomFromResultSet(resultset);
					RoomList.addElement(room);        		
            	}
            	reserveInfo.roomList=RoomList;             	           	
            	reserveInfoList.setElementAt(reserveInfo,i);    
            	resultset.close();
     		}                       	
        }catch (Exception e) {
            e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
        }
		return reserveInfoList;
	}
	
//	删除预定信息
	public void deleteReserveInfo(int guestId){
		try{			
       		CallableStatement proc = 
       			connector.prepareCall("{ call sp_deleteReservationInfo(?) }");
       		proc.setInt(1, guestId);
        	proc.execute();    
        	proc.close();        	
        }catch (Exception e) {
            e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
        }
  	}
//	保存入房登记信息	
	public void newEnrolInfo(Enrol ri) {
		Enrol enrolInfo = new Enrol();
		enrolInfo = ri;
		try {
			//添加预订客人个人信息,并生成标志号    	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -