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

📄 databaseconnector.java

📁 java酒店管理系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            	accountInfo.setAccountClass(resultset.getInt("accountClass"));
            	accountInfo.setAccountName(resultset.getString("accountName").trim());
            	accountInfo.setAccountSex(resultset.getInt("accountSex"));
            	accountInfo.setAccountAddress(resultset.getString("accountAddress"));
            	accountInfo.setAccountWage(resultset.getInt("accountWage"));
            	accountList.add(accountInfo);
				
            }
            resultset.close();	//关闭数据库连接
            connect.close();
        }catch (Exception e) {
            e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
        }
		/////////////////////////////////////////
		return accountList;		
	}
	//保存新建帐户信息
	public void saveNewAccountInfo(Account user){
		Account account = new Account();
		account = user;
		try{
			System.out.println("连接数据库。。。");
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
       		Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");       				
       		System.out.println("成功连接数据库");
        	///////////////////////////////////////////////////
        	String sql3="insert into AccountInfo(accountId,password,"+
        	"accountClass,accountName,accountSex,accountAddress,accountWage) "+
        	" values(?,?,?,?,?,?,?)";
        	PreparedStatement prepareStategr=connect.prepareCall(sql3);//设定数据库查寻条件 
        	prepareStategr.clearParameters();
        	String accountId=account.getAccountId();	
			String password=account.getPassword();		
			int accountClass=account.getAccountClass();		
			String accountName=account.getAccountName();	
			int accountSex=account.getAccountSex();		
			String accountAddress=account.getAccountAddress();	
			int accountWage=account.getAccountWage();
					
        	prepareStategr.setString(1,accountId);        	
        	prepareStategr.setString(2,password);        	        				        	
        	prepareStategr.setInt(3,accountClass);
        	prepareStategr.setString(4,accountName);
        	prepareStategr.setInt(5,accountSex);
        	prepareStategr.setString(6,accountAddress);
        	prepareStategr.setInt(7,accountWage);
        	        	
        	int resultroomguest = prepareStategr.executeUpdate();	//执行数据库添加 
        	if(resultroomguest==1)		//成功更新数据库
            {
            	System.out.println("保存预订客人预订的房间的信息成功");            	
            }else{
            	System.out.println("失败保存预订的房间信息");
            	connect.close();
            	return;
           	 }
        	////////////////////////////////////////////////////
            connect.close();
        }catch (Exception e) {
            e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
        }
	}
	public void saveReturnRoomInfo(CheckInInfo cinfo,Account u,String td,double inc,long num){
		CheckInInfo cii=new CheckInInfo();
		Account user = new Account();
		cii = cinfo;
		user = u;
		String tradeDate = td;
		double income=inc;
		long stayNum=num;
		////////////////////////////////////////////
		System.out.println("连接数据库,保存退房信息");
  	
  		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
       		Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");       				
       		////////////////////////////////////删除登记信息
       		int checkGId=cii.getCheckInGuestId();
        	String sql="delete from CheckInGuestPersonInfo where checkInGuestId=?";        	        	
        	PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件        	
        	prepareState.clearParameters();        	
        	prepareState.setInt(1,checkGId);
        	int result = prepareState.executeUpdate();	
        	if(result==1)		//成功更新数据库
            {
            		System.out.println("删除登记信息成功");            	
            }else{
            		System.out.println("删除登记信息失败");
            		connect.close();
            		return;
            } 
      ///////////////////////////////////更新房间状态信息
            Vector deleteRoom=new Vector();
            
            deleteRoom=cii.getChoosenRoomList(); 
                       
            String sqlupdateRS="update GuestRoom set roomState=? where guestRoomId=?";
            PreparedStatement prepareStaters=connect.prepareCall(sqlupdateRS);//设定数据库查寻条件 
        	prepareStaters.clearParameters();
            for(int i=0;i<deleteRoom.size();i++){  
            	GuestRoom room=  (GuestRoom) deleteRoom.get(i); 
            	  	
            	String roomId= room.guestRoomId.toString().trim();             	    
        		prepareStaters.setInt(1,0);	//设置房间状态为空
        		prepareStaters.setString(2,roomId);
        		int resultroomrs = prepareStaters.executeUpdate();	//执行数据库添加 
        		if(resultroomrs==1)		//成功更新数据库
            	{
            		System.out.println("成功更新房间状态信息");            	
            	}else{
            		System.out.println("失败更新房间状态信息");
            		connect.close();
            		return;
           	 	}
           	 }
     		//////////////////////////////更新记帐表 也就是帐目表
           	String userId=user.getAccountId();
           	
           	String sql3="insert into ReckoningInfo(checkInGuestId,income,tradeDate,accountId) values(?,?,?,?)";
        	PreparedStatement prepareStategr=connect.prepareCall(sql3);//设定数据库查寻条件 
        	prepareStategr.clearParameters();
        	prepareStategr.setString(1,checkGId+"");
        	
        	prepareStategr.setDouble(2,income);
        	        				        	
        	prepareStategr.setString(3,tradeDate);
        	prepareStategr.setString(4,userId);
        	int resultroomguest = prepareStategr.executeUpdate();	//执行数据库添加 
        	if(resultroomguest==1)		//成功更新数据库
            {
            	System.out.println("更新记帐表信息成功");            	
            }else{
            	System.out.println("失败更新记帐表");
            	connect.close();
            	return;
           	 }
           	 
         
                 
      		////////////////////////////更新历史客人信息 
     		int firstCheckInId=cii.getCheckInGuestId();   //第一次登记的登记号
			int certificateKind=cii.getCertificateKind(); 
			String certificateId=cii.getCertificateId().trim(); //证件类型&证件号为唯一标志客人的信息
			String guestName=cii.getGuestName(); 
			int totalStayNum=(int)stayNum;	//计算客人总共在酒店住的天数
			double totalExpense=income; 	//记录客人总的花费,将成为以后的优惠政策的依据

			CallableStatement csmt = connect.prepareCall("{call update_HistoryGuestInfo(?,?,?,?,?,?)}");
			csmt.setInt(1,firstCheckInId);
			csmt.setInt(2,certificateKind);
			csmt.setString(3,certificateId);
			
			csmt.setString(4,guestName);
			csmt.setInt(5,totalStayNum);
			csmt.setDouble(6,totalExpense);
						
			csmt.execute();
           	 
        	////////////////////////////////////////////// 			
            connect.close();
        }catch (Exception e) {
            e.printStackTrace();//把该 Throwable 和它的跟踪情况打印到标准错误流。
        }
	}
	///////////////////////////////////////////////////////////////////// 	
	//保存登记信息
	public void saveCheckInInfo(CheckInInfo cii){
		CheckInInfo checkInInfo = new CheckInInfo();
		checkInInfo = cii;
		//////////////////////////////////		
		try{
			System.out.println("连接数据库。。。");
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
       		Connection connect=DriverManager.getConnection("jdbc:odbc:hotelmanager"," "," ");       				
       		System.out.println("成功连接数据库");
       		///////////////////////////////////
        	
        	//添加登记客人个人信息,并生成标志号
        	String sql="insert into CheckInGuestPersonInfo(guestName,certificateKind,certificateId,sex,guestNum,stayDayNum,note,desposit,arriveDate) values(?,?,?,?,?,?,?,?,?)";
        	
        	String name=checkInInfo.getGuestName();
        	int certifyKind=checkInInfo.getCertificateKind();
        	String certifyId=checkInInfo.getCertificateId();
        	int sex=checkInInfo.getSex();
        	int num=checkInInfo.getGuestNum();
        	int staydaynum=checkInInfo.getStayDayNum();
        	String note=checkInInfo.getNote();
        	int money=checkInInfo.getDesposit();
        	String arrivedate=checkInInfo.getArriveDate();
        	
        	PreparedStatement prepareState=connect.prepareCall(sql);//设定数据库查寻条件 
        	prepareState.clearParameters();
        	prepareState.setString(1,name);
        	prepareState.setInt(2,certifyKind);
        	prepareState.setString(3,certifyId);
        	prepareState.setInt(4,sex);
        	prepareState.setInt(5,num);
        	prepareState.setInt(6,staydaynum);
        	prepareState.setString(7,note);
        	prepareState.setInt(8,money);
        	prepareState.setString(9,arrivedate);
        	
        	int result = prepareState.executeUpdate();	//执行数据库添加 
        	if(result==1)		//成功更新数据库
            {
            	System.out.println("保存登记的客人个人信息成功");            	
            }else{
            	System.out.println("保存登记失败");
            	connect.close();
            	return;
            }        
           
               
            ///////////////////////////////更新客人的登记的房间信息            
            //获得登记客人标号            
            System.out.println("获得登记客人标号");      
       		String sql2="select checkInGuestId from CheckInGuestPersonInfo where certificateKind=? and certificateId = ?";
       		
       		PreparedStatement prepare2=connect.prepareCall(sql2);
        	prepare2.clearParameters();
       		prepare2.setString(1,certifyKind+"");
       		prepare2.setString(2,certifyId+"");       		
       		ResultSet resultset=prepare2.executeQuery();
       		int guestId=0;
     		while(resultset.next())
     		{
      			guestId=resultset.getInt("checkInGuestId");
      			System.out.println("登记客户号码:"+guestId);      
     		} 
            ///////////////////////////////
        	GuestRoom room=new GuestRoom();	
        	String roomId="";		
			for (Enumeration ee = checkInInfo.getChoosenRoomList().elements(); ee.hasMoreElements() ;) 
  			{		
  				room=(GuestRoom)ee.nextElement();   
  				roomId=room.guestRoomId;
  				
  				String sql3="insert into CheckInGuestRoomInfo(checkInGuestId,guestRoomId) values(?,?)";
        		PreparedStatement prepareStategr=connect.prepareCall(sql3);//设定数据库查寻条件 
        		prepareStategr.clearParameters();
        		prepareStategr.setString(1,guestId+"");
        		prepareStategr.setString(2,roomId);
        		int resultroomguest = prepareStategr.executeUpdate();	//执行数据库添加 

⌨️ 快捷键说明

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