hotel.java

来自「一个典型的数据库例子(酒店房间出租系统)」· Java 代码 · 共 1,240 行 · 第 1/3 页

JAVA
1,240 行
字号
					con.close();
 			
				}catch(SQLException ex) {
  					System.err.println("SQLException: "+ex.getMessage());
				}
				
			}
		});
			
		jbdel = new JButton("Delete");
		jbdel.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				try {
					String Price=null;
	   				con=DriverManager.getConnection(url);
	   				stmt=con.createStatement();
	   				stmt.executeUpdate("delete from rooms where ROOM_ID like '"+jtfno.getText()+"'");  
					stmt.close();
					con.close();
  			
				}catch(SQLException ex) {
  					System.err.println("SQLException: "+ex.getMessage());
				}
				
					
			}
		});
			
		jbmod = new JButton("Modify");
		jbmod.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				try {
					String Price=null;
	   				con=DriverManager.getConnection(url);
	   				stmt=con.createStatement();
	   				if (jcbtype.getSelectedItem().toString().equals("single")){
		   				Price="100";
	   				}
	   				if (jcbtype.getSelectedItem().toString().equals("double")){
		   				Price="150";
	   				}
	   				if (jcbtype.getSelectedItem().toString().equals("luxury")){
		   				Price="250";
	   				}
	   	
	   				stmt.executeUpdate("update rooms set ROOM_TYPE='"+jcbtype.getSelectedItem()+"' where ROOM_ID like '"+jtfno.getText()+"'");
	   				stmt.executeUpdate("update rooms set ROOM_STATUS='"+jcbstatus.getSelectedItem()+"' where ROOM_ID like '"+jtfno.getText()+"'");
	   				stmt.executeUpdate("update rooms set ROOM_PRICE='"+Price+"' where ROOM_ID like '"+jtfno.getText()+"'"); 
	   				stmt.executeUpdate("update rooms set RESERVE_TIME=null where ROOM_ID like '"+jtfno.getText()+"'"); 
					stmt.executeUpdate("update rooms set DURATION=null where ROOM_ID like '"+jtfno.getText()+"'");
					stmt.executeUpdate("update rooms set RETURN_TIME=null where ROOM_ID like '"+jtfno.getText()+"'");
					stmt.executeUpdate("update rooms set CUSTOMER_NAME=null where ROOM_ID like '"+jtfno.getText()+"'");
					stmt.executeUpdate("update rooms set CUSTOMER_SSN=null where ROOM_ID like '"+jtfno.getText()+"'");  
					stmt.close();
					con.close();
  			
				}catch(SQLException ex) {
					System.err.println("SQLException: "+ex.getMessage());
				}
					
					
			}
		});
			
		jbreturn=new JButton("Return");
		jbreturn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				setVisible(false);
				
			}
		});
	  
	    
	    contentPane.add(jlno);
	    contentPane.add(jtfno);
	    contentPane.add(jltype);
	    contentPane.add(jcbtype);
	    contentPane.add(jlstatus);
	    contentPane.add(jcbstatus);
	    contentPane.add(jbadd);
	    contentPane.add(jbmod);
	    contentPane.add(jbreturn);
	    contentPane.add(jbdel);
		
		setSize(500, 300);
		setVisible(true);
    }
}
    
class Cmanage extends JFrame{
   	String url="jdbc:odbc:Registry";
	Connection con;
	Statement stmt;
	ResultSet rs;
    private JLabel jlcoldname,jlcnewname,jlcnewssn;
    private JTextField jtfcoldname,jtfcnewname,jtfcnewssn;
    private JButton jbconvert,jbreturn;
    private JPanel jpold,jpnew,jpoldnew,jpbuttons,jplist;
	private JScrollPane jsp;
    
	    
 
	    
	    
    public Cmanage() {
	    super("Manage the customer information.");
	    jpold=new JPanel();
	    jpold.setLayout(new GridLayout(2,1,0,100));
	    jpold.setBorder(BorderFactory.createCompoundBorder(
		              BorderFactory.createTitledBorder("Original Customer Information"),
		              BorderFactory.createEmptyBorder(5,5,5,5)));
	    jlcoldname=new JLabel("Original Name");
	    jtfcoldname=new JTextField(20);
	    jpold.add(jlcoldname);
	    jpold.add(jtfcoldname);
	    
	    jpnew=new JPanel();
	    jpnew.setLayout(new GridLayout(4,1,0,10));
	    jpnew.setBorder(BorderFactory.createCompoundBorder(
		              BorderFactory.createTitledBorder("New Customer Information"),
		              BorderFactory.createEmptyBorder(5,5,5,5)));
	    jlcnewname=new JLabel("New Name");
	    jlcnewssn=new JLabel("New SSN");
	    jtfcnewname=new JTextField(20);
	    jtfcnewssn=new JTextField(20);
	    jpnew.add(jlcnewname);
	    jpnew.add(jtfcnewname);
	    jpnew.add(jlcnewssn);
	    jpnew.add(jtfcnewssn);
	    
		    
	    jpoldnew=new JPanel();
	    jpoldnew.setLayout(new GridLayout(1,2,50,0));
	    jpoldnew.add(jpold);
	    jpoldnew.add(jpnew);
	    
		    
	    jpbuttons=new JPanel();
	    jpoldnew.setLayout(new GridLayout(1,1));
	    jbconvert=new JButton("Modify");
		jbconvert.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				String oldname=jtfcoldname.getText();
				String newname=jtfcnewname.getText();
				String newssn=jtfcnewssn.getText();
				try {
					String Price=null;
	   				con=DriverManager.getConnection(url);
	   				stmt=con.createStatement();
		   				
		   	
	   				stmt.executeUpdate("update rooms set CUSTOMER_NAME='"+newname+"' where CUSTOMER_NAME like '"+oldname+"'");
	   				stmt.executeUpdate("update rooms set CUSTOMER_SSN='"+newssn+"' where CUSTOMER_NAME like '"+oldname+"'");
	   				stmt.close();
					con.close();
  			
				}catch(SQLException ex) {
  					System.err.println("SQLException: "+ex.getMessage());
				}
					
					
					
			}
		});
		jbreturn=new JButton("Return");
		jbreturn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				setVisible(false);
			}
		});
			
		jpbuttons.add(jbconvert);
		jpbuttons.add(jbreturn);
		
			
			
			
			
		jplist=new JPanel();
		jplist.setBorder(BorderFactory.createCompoundBorder(
   		             	 BorderFactory.createTitledBorder("Customer Information"),
		             	 BorderFactory.createEmptyBorder(5,5,5,5)));
		    
		final String[] colHeads = {"CUSTOMER_NAME", "CUSTOMER_SSN"};
		Vector dataVector = new Vector();
		Vector headVector=new Vector(2);
		String squery = "select * from rooms WHERE CUSTOMER_NAME is not null order by CUSTOMER_NAME";
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		} catch(java.lang.ClassNotFoundException e){
			System.err.print("ClassNotFoundException: ");
			System.err.println(e.getMessage());
		}
		
		try {
			con=DriverManager.getConnection(url);
			stmt=con.createStatement();
			rs=stmt.executeQuery(squery);
			while(rs.next()) {
				String n = rs.getString("CUSTOMER_NAME");
					
				String s = rs.getString("CUSTOMER_SSN");
					


				Vector rowVector = new Vector();
				rowVector.addElement(n);
				rowVector.addElement(s);

				dataVector.addElement(rowVector);
			}
			headVector.addElement("CUSTOMER_NAME");
			headVector.addElement("CUSTOMER_SSN");

			stmt.close();
			con.close();
		} catch(SQLException ex) {
			System.err.println("SQLException: "+ex.getMessage());
		}
		JTable table = new JTable(dataVector, headVector);
		int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
		int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
		jsp = new JScrollPane(table, v, h);
		jplist.add(jsp);
		
			
			
			
			
		    	    
		    
	    Container contentPane = getContentPane();
	    contentPane.setLayout(new BoxLayout(contentPane,BoxLayout.Y_AXIS));
		    
	    contentPane.add(jpoldnew);
	    contentPane.add(jpbuttons);
	    contentPane.add(jplist);
		    
	    setSize(500, 600);
		setVisible(true);
		    
    }
}	
    
class showall extends JFrame{
   	String url="jdbc:odbc:Registry";
	Connection con;
	Statement stmt;
	ResultSet rs;
   	private JScrollPane jsp;
   	private JPanel jp2;
   	private JMenuBar jmb;
   	private JMenu jm,jmorder;
   	private JMenuItem jmirefresh,jmiexit,jmiorderr,jmiorderc;
   	private String order="ROOM_ID";
   	
   	public showall(){
   		super("The whole database (Viewable Only)");
   		
   		jp2=new JPanel();
   		jp2.setSize(700,450);
		jsp=new JScrollPane();
		shows();
		jp2.add(jsp);
		jp2.setVisible(false);
		jp2.setVisible(true);
		
   		jmb=new JMenuBar();
   		setJMenuBar(jmb);
    		
    		
    		
   		jm=new JMenu("Menu");
   		jm.setMnemonic(KeyEvent.VK_M);
       	jm.getAccessibleContext().setAccessibleDescription(
               "The only menu in this program that has menu items");
                
   		jmirefresh=new JMenuItem("Refresh",KeyEvent.VK_R);
   		jmirefresh.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				jp2.setVisible(false);
				jp2.remove(jsp);
				shows();
				jp2.add(jsp);
				jp2.setVisible(true);
			}
		});
   		
   		jmiexit=new JMenuItem("Exit");
   		jmiexit.setMnemonic(KeyEvent.VK_X);
   		jmiexit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				setVisible(false);
			}
		});
    		
    		
   		jmiorderr=new JMenuItem("Room Id");
   		jmiorderr.setMnemonic(KeyEvent.VK_R);
   		jmiorderr.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				order="ROOM_ID";
				jp2.setVisible(false);
				jp2.remove(jsp);
				shows();
				jp2.add(jsp);
				jp2.setVisible(true);
				
			}
		});
    		
    		
   		jmiorderc=new JMenuItem("Customer Name");
   		jmiorderc.setMnemonic(KeyEvent.VK_C);
   		jmiorderc.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				order="CUSTOMER_NAME";
				jp2.setVisible(false);
				jp2.remove(jsp);
				shows();
				jp2.add(jsp);
				jp2.setVisible(true);
			}
		});
   		
   		jmorder=new JMenu("Order By");
   		jmorder.setMnemonic(KeyEvent.VK_O);
    		
   		jmorder.add(jmiorderr);
   		jmorder.add(jmiorderc);
   		
   		jm.add(jmirefresh);
   		jm.add(jmorder);
   		jm.add(jmiexit);
   		
   		jmb.add(jm);
    		
    		
   		Container contentPane = getContentPane();
   		contentPane.setLayout(new BoxLayout(contentPane,BoxLayout.X_AXIS));
   		setSize(500, 400);
		contentPane.add(jp2);
		
   		setVisible(true);
    		
   	}
    	
   	void shows(){
   		final String[] colHeads = {"ROOM_ID","ROOM_TYPE","ROOM_STATUS","ROOM_PRICE","RESERVE_TIME", "DURATION","RETURN_TIME", "CUSTOMER_NAME", "CUSTOMER_SSN"};
		Vector dataVector = new Vector();
		Vector headVector=new Vector(9);
		String squery = "select * from rooms order by "+order;
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		} catch(java.lang.ClassNotFoundException e){
			System.err.print("ClassNotFoundException: ");
			System.err.println(e.getMessage());
		}
		
		try {
			con=DriverManager.getConnection(url);
			stmt=con.createStatement();
			rs=stmt.executeQuery(squery);
			while(rs.next()) {

				String i = rs.getString("ROOM_ID");
				String t = rs.getString("ROOM_TYPE");
				String s = rs.getString("ROOM_STATUS");
				String c = rs.getString("ROOM_PRICE");
				String v = rs.getString("RESERVE_TIME");
				String d = rs.getString("DURATION");
				String m = rs.getString("RETURN_TIME");
				String n = rs.getString("CUSTOMER_NAME");
				String u = rs.getString("CUSTOMER_SSN");
				


				Vector rowVector = new Vector();
				rowVector.addElement(i);
				rowVector.addElement(t);
				rowVector.addElement(s);
				rowVector.addElement(c);
				rowVector.addElement(v);
				rowVector.addElement(d);
				rowVector.addElement(m);
				rowVector.addElement(n);
				rowVector.addElement(u);

				dataVector.addElement(rowVector);
			}

			headVector.addElement("ROOM_ID");
			headVector.addElement("ROOM_TYPE");
			headVector.addElement("ROOM_STATUS");
			headVector.addElement("ROOM_PRICE");
			headVector.addElement("RESERVE_TIME");
			headVector.addElement("DURATION");
			headVector.addElement("RETURN_TIME");
			headVector.addElement("CUSTOMER_NAME");
			headVector.addElement("CUSTOMER_SSN");

			stmt.close();
			con.close();
		} catch(SQLException ex) {
			System.err.println("SQLException: "+ex.getMessage());
		}
		JTable table = new JTable(dataVector, headVector);
		int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
		int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
		jsp = new JScrollPane(table, v, h);
   	}
}

⌨️ 快捷键说明

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