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

📄 tablechange.java

📁 餐厅管理系统毕业设计
💻 JAVA
字号:
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
public class TableChange {
	String username = "root";
    String password = "right";
    String jdbcDriver="com.mysql.jdbc.Driver";
    String url="jdbc:mysql://localhost:3306/resturant";
    Connection con = null;
    Statement stmt = null;
    JTable jTable=new JTable();
    JScrollPane jScroll;
	Vector vector;
	AbstractTableModel tm;
	String title[]={"预定号码","人数","日期","时间","桌号","姓名","到达时间"};
	ResultSet rSet=null;    
	JButton jButton1=new JButton("餐桌调换");
	JButton jButton2=new JButton("刷新");
	JButton jButton3=new JButton("退出");
	JFrame f=new JFrame();
	Container contentPane=f.getContentPane();
	public TableChange(){
		contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
    	contentPane.add(jButton1);
    	contentPane.add(jButton2);
    	contentPane.add(jButton3);
        display();
        f.setSize(465,400);
    	f.setVisible(true);   
    	jButton1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				tablechange();
			}
		});
    	jButton2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				reserch();
			}
		});
    	jButton3.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				f.dispose();
			}
		});
    	reserch();
	}//
	void reserch(){
		try{
            Class.forName(jdbcDriver);
            
            }
          catch(ClassNotFoundException se){
            System.err.print(se.getMessage());
          }
          try{
      	       con=DriverManager.getConnection(url,username,password);
               stmt=con.createStatement();
               String All="SELECT * FROM reservation;";
               rSet=stmt.executeQuery(All);
               vector.removeAllElements();
               while(rSet.next()){
               Vector rec_vector=new Vector();
             	 rec_vector.addElement(String.valueOf(rSet.getString("oid")));
             	 rec_vector.addElement(String.valueOf(rSet.getString("covers")));
             	 rec_vector.addElement(String.valueOf(rSet.getString("date")));
             	 rec_vector.addElement(String.valueOf(rSet.getString("time")));
             	 rec_vector.addElement(String.valueOf(rSet.getString("table_id")));
             	 rec_vector.addElement(String.valueOf(rSet.getString("custom_id")));
             	 rec_vector.addElement(String.valueOf(rSet.getString("arrivetime")));
             	 vector.addElement(rec_vector);
             	}
               tm.fireTableStructureChanged();               //更新表格
               rSet.close();
               con.close();
               }
      	catch(SQLException se){
               System.err.println(se.getMessage());
                }
          finally{
               try{
                   if(con!=null){
                                  con.close();
                                 }
                   if(stmt!=null){
                                  stmt.close();
                                 }
                            }catch(Exception ex){}          //忽略
         }
    }
	void display(){
		vector=new Vector();
    	tm=new AbstractTableModel(){
              public int getColumnCount(){         //行
            	  return title.length;
              }
              public int getRowCount(){            //列
            	  return vector.size();
              }
              public Object getValueAt(int row,int column){           //取得单元格的属性值
            	  if(!vector.isEmpty()){
            		  return ((Vector)vector.elementAt(row)).elementAt(column);
            	  }
            	  else{
            		  return null;
            	  }
              }
              public void setValueAt(Object value,int row,int column){  //数据模型不可编辑,方法设置为空
            	        }    
              
    	
    	      public String getColumnName(int column){     //区列名 
    		          return title[column];
    	              }
    	      public Class getColimnClass(int c){
    		          return getValueAt(0,c).getClass();    //取得列所属对象类
    	              }
    	      public boolean isCellEditable(int row,int column){       //设置单元格不可编辑
    		          return false;
    	              }
    	};
    	jTable=new JTable(tm);
    	jTable.setToolTipText("DISPLAY");             //设置提示
    	jTable.setAutoResizeMode(jTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);    //设置表格调整尺寸模式
    	jTable.setCellSelectionEnabled(false);         //设置单元格的选择方式
    	jTable.setShowHorizontalLines(true);        //是否有分割线
    	jTable.setShowVerticalLines(true);
    	jTable.setBounds(6, 20, 500, 400);
        jScroll=new JScrollPane(jTable);
        jScroll.setBounds(6, 20, 250, 800);
        contentPane.add(jScroll);
	}
	void tablechange(){
		String inputValue = JOptionPane.showInputDialog("请输入调换餐桌之前的预约号码!");
    	if(inputValue.equals("")){
    		JOptionPane.showMessageDialog(null, "预约号码不能为空!", "错误!", JOptionPane.ERROR_MESSAGE);
    	}
    	else{
    		int oid=Integer.parseInt(inputValue);
    		String tno = JOptionPane.showInputDialog("请输入想要调换到的餐桌号!");
    		int tno1=Integer.parseInt(tno);
    		if(tno1<0||tno1>5){
    			JOptionPane.showMessageDialog(null, "错误的餐桌号!", "错误!", JOptionPane.ERROR_MESSAGE);
    			f.dispose();
    		}
    		String reserch1="SELECT * FROM reservation where oid="+oid+";";
    		String reserch2="SELECT time FROM reservation where oid="+oid+";";
    		String change="update reservation set table_id="+"\""+tno+"\""+"where oid="+oid+";";
    		try{
                Class.forName(jdbcDriver);
                }
            catch(ClassNotFoundException se){
                System.err.print(se.getMessage());
                }
            try{
 	   	        con=DriverManager.getConnection(url,username,password);
                stmt=con.createStatement();
                rSet=stmt.executeQuery(reserch1);
                if(rSet.next()==false){
                	 JOptionPane.showMessageDialog(null, "没有预约号码为"+inputValue+"的预约", "错误!", JOptionPane.ERROR_MESSAGE);
                	 f.dispose();
                }
                rSet=stmt.executeQuery(reserch2);
                String a=null;
                while(rSet.next()){
                	a=rSet.getString("time");
                }
                System.out.println(a);
                String reserch3="SELECT * FROM reservation where time="+"\""+a+"\""+"and table_id="+"\""+tno+"\""+";";
                rSet=stmt.executeQuery(reserch3);
                if(rSet.next()==true){
               	 JOptionPane.showMessageDialog(null, "时间冲突", "错误!", JOptionPane.ERROR_MESSAGE);
               	 f.dispose();
                }
                else {
              	  stmt.execute(change);
              	  jTable.updateUI();
                 }
 	   	        }
           catch(SQLException se){
                System.err.println(se.getMessage());
                f.dispose();
                              }
           finally{
           try{
               if(con!=null){
                          con.close();
                             }
               if(stmt!=null){
                          stmt.close();
                              }
          }catch(Exception ex){f.dispose();}  
    	           }
    	}
	}
}//

⌨️ 快捷键说明

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