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

📄 autot2.java

📁 小型简单的旅馆预订系统. 客户:预定,更改,撤销,会员积分累积,查询预定,会员. 后台:会员更改,房间更改,预定更改,预定信息统计.
💻 JAVA
字号:
package servlet;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import servlet.roomReport.task;


 public class autoT2 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   Timer t;

	public autoT2() {
		Date now=new Date();
		
		SimpleDateFormat format= new SimpleDateFormat("dd/MM/yyyy");
		String n=format.format(now);
		Calendar cl=Calendar.getInstance();
		cl.set(2007, 10, 8, 22, 43);
		t=new Timer();
		t.schedule(new task(),0,24*60*60*1000);//60 seconds
	}
	public void init(ServletConfig config) throws ServletException
	{
		super.init(config);
		checkDB cd=new checkDB();
	
	}
	static private ResultSet rs;
	static private ResultSetMetaData rm;
	static private Statement stmt;
	static private Connection conn;
	static private String[] fin_date,id;
	static void query(String query)
	{
        try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
         String driver = "Driver={Microsoft Access Driver (*.mdb)}";
         String dbq = "DBQ=E:\\Java\\Tomcat 6.0\\webapps\\ROOT\\database\\HRSDB.mdb";
         String connectionString = "jdbc:odbc:"+driver+";"+dbq;
         conn = DriverManager.getConnection(connectionString);  
         stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
         rs=stmt.executeQuery(query);
         rm=rs.getMetaData();
        }
        catch (Exception e){
        	System.out.println(e.getCause()+": "+e.getMessage()+": "+e.getStackTrace());
        }
     }
	
	static void conn()
	{
        try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
         String driver = "Driver={Microsoft Access Driver (*.mdb)}";
         String dbq = "DBQ=E:\\Java\\Tomcat 6.0\\webapps\\ROOT\\database\\HRSDB.mdb";
         String connectionString = "jdbc:odbc:"+driver+";"+dbq;
         conn = DriverManager.getConnection(connectionString);  
         stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        }
        catch (Exception e){
        	System.out.println(e.getCause()+": "+e.getMessage()+": "+e.getStackTrace());
        }
        
     }
	
	static void close()
	{
		try
		{
			//rs.close();
			stmt.close();
			conn.close();
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
	}
	
	static void checkAvailable()
	{
		insert in=new insert();
		int rowNum=0,lp=0;
		SimpleDateFormat format= new SimpleDateFormat("dd/MM/yyyy");
		Date currentTime=new Date();
		Calendar cl=Calendar.getInstance();
		String d1=format.format(cl.getTime());
		String d2=d1.toString();
		String[] sa=d2.split("/");
		String query="SELECT fin_date,ID,room_id FROM Booking;";
		query(query);
		try
		{
			if (!rs.wasNull())
	         {
	        	 if (rs.next())
	        	 {
	        		 for (rs.first(); !rs.isAfterLast(); rs.next())
	        		 {
	        			 rowNum++;
	        		 }// get row number
	        	 }
	         }
			else 
			{
				//none
			}
			rs.first();
			fin_date=new String[rowNum+1];
			id=new String[rowNum+1];
			String[] sa2;
			for (rs.first();!rs.isAfterLast();rs.next())
			{
				fin_date[lp]=rs.getString("fin_date");	
				id[lp]=rs.getString("ID");
				sa2=fin_date[lp].split("/");
				if (sa[2].equals(sa2[2]))
				{//equal year
					if (sa[1].equals(sa2[1]))
					{//equal month
						if(sa[0].equals(sa2[0])||Integer.valueOf(sa[0])>Integer.valueOf(sa2[0]))
						{//equal day
							query="DELETE FROM Booking WHERE ID='"+id[lp]+"';";
							in.update(query);
							query="delete from History where related_id='"+id[lp]+"';";
							in.update(query);
							query="UPDATE Room SET status='free' WHERE ID='"+rs.getString("room_id")+"';";
							in.update(query);
							
						}
						else
						{
							//none activity
						}
					}
					else if (Integer.valueOf(sa[1])>Integer.valueOf(sa2[1]))
					{
						if(sa[0].equals(sa2[0])||Integer.valueOf(sa[0])>Integer.valueOf(sa2[0]))
						{//equal day
							query="DELETE FROM Booking WHERE ID="+Integer.valueOf(Integer.valueOf(id[lp]))+";";
							in.update(query);
							query="delete from History where related_id='"+id[lp]+"';";
							in.update(query);
							query="UPDATE Room SET status='free' WHERE ID='"+rs.getString("room_id")+"';";
							in.update(query);
							
						}
						else
						{
							//none activity
						}
					}
					else 
					{
						//none
					}
				}
				else
				{
					//none
				}
				lp++;
			}//put every row data to array
			
		}
		catch (SQLException e)
		{
			System.out.println("No more booking existed...");
			System.out.println("1: "+e.getCause()+":"+e.getStackTrace());
		}
		//delete booking record function finish
		
		
		
		//update room status function finish
		close();
	}

	class task extends TimerTask
	{

		@Override
		public void run()
		{
			checkDB.checkAvailable();
		}
		
		
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}  	
	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}   	  	    
}

⌨️ 快捷键说明

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