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 + -
显示快捷键?