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

📄 frame1.java~3~

📁 Java+SQL2000宾馆管理系统,可实现简单的管理操作。
💻 JAVA~3~
📖 第 1 页 / 共 2 页
字号:
package hotel;

import javax.swing.*;
import javax.swing.JOptionPane.*;
import java.awt.*;

import java.awt.event.*;
import java.sql.*;

import java.util.*;
import com.borland.dx.sql.dataset.*;
import com.borland.dbswing.*;

/**
 * <p>Title: 宾馆官理系统</p>
 * <p>Description: 第七章实例</p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: </p>
 * @author 苏年乐
 * @version 1.0
 */

public class Frame1
    extends JFrame {
  JButton jButton1 = new JButton();
  JPanel jPanel1 = new JPanel();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  JButton jButton4 = new JButton();
  JPanel jPanel2 = new JPanel();
  JPanel jPanel3 = new JPanel();
  JPanel jPanel4 = new JPanel();
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  Connection connect;
  String url;
  boolean roomordered;
  int price_eachday = 1;

  JButton jButton5 = new JButton();
  GridLayout gridLayout1 = new GridLayout();
  String Slected[] = {
      "男", "女"};
  JMenuBar jMenuBar1 = new JMenuBar();
  JMenu jMenu1 = new JMenu();
  JMenu jMenu2 = new JMenu();
  JMenuItem jMenuItem1 = new JMenuItem();
  JLabel jLabel4 = new JLabel();
  JLabel jLabel6 = new JLabel();
  JLabel jLabel7 = new JLabel();
  JLabel jLabel5 = new JLabel();
  JMenu jMenu3 = new JMenu();
  JMenuItem jMenuItem2 = new JMenuItem();
  JTextField jTextField6 = new JTextField();
  JTextField jTextField2 = new JTextField();
  JComboBox jComboBox1 = new JComboBox(Slected);
  JTextField jTextField1 = new JTextField();
  JTextField jTextField5 = new JTextField();
  JTextField jTextField4 = new JTextField();
  Clocklabel clocklabel1 = new Clocklabel();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTextArea jTextArea1 = new JTextArea();
  Database database1 = new Database();
  QueryDataSet queryDataSet1 = new QueryDataSet();
  TableScrollPane tableScrollPane1 = new TableScrollPane();
  JdbTable jdbTable1 = new JdbTable();
  JdbNavToolBar jdbNavToolBar1 = new JdbNavToolBar();
  JdbStatusLabel jdbStatusLabel1 = new JdbStatusLabel();

  public Frame1() {
    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  private void jbInit() throws Exception {
    jButton1.setText("添加客户");
    jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
    this.getContentPane().setLayout(null);
    jPanel1.setLayout(gridLayout1);
    jButton2.setText("删除客户");
    jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));
    jButton3.setText("房客查寻");
    jButton3.addActionListener(new Frame1_jButton3_actionAdapter(this));
    jButton4.setText("空房查寻");
    jButton4.addActionListener(new Frame1_jButton4_actionAdapter(this));
    jPanel2.setLayout(null);
    jPanel3.setLayout(null);
    jLabel2.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel2.setText("          姓名");
    jLabel2.setBounds(new Rectangle(0, 0, 161, 32));
    jLabel3.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel3.setText("          性别");
    jLabel3.setBounds(new Rectangle(0, 32, 161, 32));
    jPanel4.setLayout(null);

    jButton5.setText("清空");
    jButton5.addActionListener(new Frame1_jButton5_actionAdapter(this));
    this.setLocale(java.util.Locale.getDefault());
    this.setJMenuBar(null);
    this.setState(Frame.NORMAL);
    jMenu1.setText("  关于");
    jMenu2.setText("作者及版权");
    jMenuItem1.setText("Read me");
    jMenuItem1.addActionListener(new Frame1_jMenuItem1_actionAdapter(this));
    jPanel4.setDebugGraphicsOptions(0);
    jPanel4.setBounds(new Rectangle(335, 0, 118, 202));
    jLabel4.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel4.setText("          年龄");
    jLabel4.setBounds(new Rectangle(0, 64, 161, 32));
    jLabel6.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel6.setText("          房号");
    jLabel6.setBounds(new Rectangle(0, 128, 161, 32));
    jLabel7.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel7.setText("       当前金额");
    jLabel7.setBounds(new Rectangle(0, 160, 161, 32));
    jLabel5.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel5.setText("       身份证号");
    jLabel5.setBounds(new Rectangle(0, 96, 161, 32));
    jPanel2.setBounds(new Rectangle( -2, 78, 471, 202));
    jPanel1.setBounds(new Rectangle(0, 1, 493, 41));
    jPanel3.setDebugGraphicsOptions(0);
    jPanel3.setBounds(new Rectangle(2, 0, 322, 197));
    jMenu3.setText("  使用方法");
    jMenuItem2.setText("Read_me");
    jMenuItem2.addActionListener(new Frame1_jMenuItem2_actionAdapter(this));
    jTextField6.setText("jTextField6");
    jTextField6.setBounds(new Rectangle(161, 128, 161, 32));
    jTextField2.setText("jTextField2");
    jTextField2.setBounds(new Rectangle(161, 0, 161, 32));
    jComboBox1.setDebugGraphicsOptions(0);
    jComboBox1.setToolTipText("");
    jComboBox1.setEditable(false);
    jComboBox1.setSelectedIndex(0);
    jComboBox1.setSelectedItem(this);
    jComboBox1.setBounds(new Rectangle(161, 32, 161, 32));
    jTextField1.setText("jTextField1");
    jTextField1.setBounds(new Rectangle(161, 160, 161, 32));
    jTextField1.setEditable(false);
    jTextField5.setText("jTextField5");
    jTextField5.setBounds(new Rectangle(161, 96, 161, 32));
    jTextField4.setText("jTextField4");
    jTextField4.setBounds(new Rectangle(161, 65, 161, 32));
    clocklabel1.setBounds(new Rectangle(46, 78, 72, 19));
    jScrollPane1.setBounds(new Rectangle(9, 285, 443, 116));
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.
                                              HORIZONTAL_SCROLLBAR_ALWAYS);
    jTextArea1.setText("jTextArea1");
    //jTextArea1.setLineWrap(true);

    database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor(
        "jdbc:odbc:hotel2", "", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"));
    queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(
        database1, "select * from hotel2", null, true, Load.ALL));
    tableScrollPane1.setBounds(new Rectangle(491, 42, 491, 359));
    jdbTable1.setDataSet(queryDataSet1);
    jdbNavToolBar1.setBounds(new Rectangle(491, 2, 491, 39));
    jdbStatusLabel1.setText("jdbStatusLabel1");
    jPanel1.add(jButton1, null);
    jPanel1.add(jButton2, null);
    jPanel1.add(jButton3, null);
    jPanel1.add(jButton4, null);
    jPanel1.add(jButton5, null);
    this.getContentPane().add(jdbNavToolBar1, null);
    this.getContentPane().add(tableScrollPane1, null);
    tableScrollPane1.getViewport().add(jdbTable1, null);
    jdbNavToolBar1.add(jdbStatusLabel1, null);
    this.getContentPane().add(jScrollPane1, null);
    jScrollPane1.getViewport().add(jTextArea1, null);
    jPanel3.add(jLabel2, null);
    jPanel3.add(jTextField2, null);
    jPanel3.add(jLabel3, null);
    jPanel3.add(jComboBox1, null);
    jPanel3.add(jLabel5, null);
    jPanel3.add(jTextField5, null);
    jPanel3.add(jLabel6, null);
    jPanel3.add(jTextField6, null);
    jPanel3.add(jLabel7, null);
    jPanel3.add(jTextField1, null);
    jPanel3.add(jLabel4, null);
    jPanel3.add(jTextField4, null);
    jPanel2.add(jPanel4, null);
    jPanel4.add(clocklabel1, null);
    this.getContentPane().add(jPanel2, null);
    jPanel2.add(jPanel3, null);
    this.getContentPane().add(jPanel1, null);
    jMenuBar1.add(jMenu1);
    jMenu1.add(jMenu2);
    jMenu1.add(jMenu3);
    jMenu2.add(jMenuItem1);
    jMenu3.add(jMenuItem2);
    setJMenuBar(jMenuBar1);

    try {
      url = "jdbc:odbc:hotel2";
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      connect = DriverManager.getConnection(url);
      jTextArea1.append("Connection Successful!");
    }
    catch (ClassNotFoundException cnfex) {
      // process ClassNotFoundExceptions here
      cnfex.printStackTrace();

    }
    catch (SQLException sqlex) {
      // process SQLExceptions here
      sqlex.printStackTrace();

    }
    catch (Exception ex) {
      // process remaining Exceptions here
      ex.printStackTrace();

    }
    setSize(new Dimension(997, 550));
    show();
  }

  void jButton1_actionPerformed(ActionEvent e) {
    try {
      roomwithpeople(jTextField6.getText());
      if (roomordered) {
        JOptionPane.showMessageDialog(null,
                                      jTextField6.getText() + "房间已经有客人,请您另选一间");
        jTextField6.setText("");

      }
      else {
        // boolean judge=false;
        Statement statement = connect.createStatement();
        Calendar cal = Calendar.getInstance();
        String c = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) +
            "-" + cal.get(Calendar.DATE);
        if (namelegal() && legal() && judge_sex() && judge_idnum()) {
          String query = "INSERT INTO hotel2 (" +
              " name,sex,age,idnumber,room ,in_date" +

              ") VALUES ('" +

              jTextField2.getText() + "', '" +
              jComboBox1.getSelectedItem() + "', '" +
              jTextField4.getText() + "', '" +
              jTextField5.getText() + "', '" +
              jTextField6.getText() + "', '" +
              c + "')";

          jTextArea1.append("\n发送的命令:" + connect.nativeSQL(query) + "\n");

          int result = statement.executeUpdate(query);

          if (result == 1)
            jTextArea1.append("\n插入成功\n");
          else {
            jTextArea1.append("\n插入失败\n");
            jTextField2.setText("");
            jComboBox1.setSelectedIndex( -1);
            jTextField4.setText("");
            jTextField5.setText("");
            jTextField6.setText("");

          }
        }
        //  else
        //   jTextArea1.append("\n必须输入输入姓名和房号");

        statement.close();
      }

    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      jTextArea1.append(sqlex.toString());
    }

  }

  void roomwithpeople(String roomnum) {

    try {

      Statement statement = connect.createStatement();
      String query = "SELECT * FROM hotel2 WHERE room = '" + roomnum + "'";
      jTextArea1.append("\n发送的命令: " +
                        connect.nativeSQL(query)
                        + "\n");
      ResultSet rs = statement.executeQuery(query);
      judge(rs);

      statement.close();

    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      jTextArea1.append(sqlex.toString());
    }

  }

  void judge(ResultSet r) {

    try {
      //r.next();

      //int recordNumber = r.getInt( 1 );

      if (r.next()) {

        roomordered = true;

      }
      else
        roomordered = false;
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      jTextArea1.append(sqlex.toString());
    }

  }

  void jButton3_actionPerformed(ActionEvent e) {
    try {
      if (!jTextField2.getText().equals("")) {
        Statement statement = connect.createStatement(ResultSet.
            TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_UPDATABLE);
        String query = "SELECT ALL  * FROM hotel2 " +
            "WHERE name = '" +
            jTextField2.getText() + "'";

        jTextArea1.append("\n发送的命令: " +
                          connect.nativeSQL(query)
                          + "\n");
        ResultSet rs = statement.executeQuery(query);
        display(rs);
        jTextArea1.append("\n查询成功\n");
        statement.close();
      }
      else
        jTextArea1.setText(
            "请输入要查找的房客姓名");
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      jTextArea1.append(sqlex.toString());
    }

  }

  void display(ResultSet rs) {
    try {
      Calendar cal = Calendar.getInstance();
      String c = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) +
          "-" + cal.get(Calendar.DATE);
      boolean morerows = false;

      //y

      if (rs.next()) {

        jTextField2.setText(rs.getString(1));
        jComboBox1.setSelectedItem(rs.getString(2));
        jTextField4.setText(rs.getString(3));
        jTextField5.setText(rs.getString(4));
        jTextField6.setText(rs.getString(5));
        String temp = rs.getString(6);
        Countdays count = new Countdays(temp, c);
        jTextField1.setText(" " + price_eachday * count.getdays());
        if (rs.next()) morerows = true;
      }
      else
        jTextArea1.append("\n没找到记录\n");

      if (morerows) {
        rs.beforeFirst();
        message(" 您要查找的人的姓名不止一个,请在信息栏中查看,谢谢!");
        String p = "name" + "\t\t" + "sex" + "\t\t" + "age" + "\t\t" +
            "idnumber" + "\t\t\t\t" + "room"
            + "\t\t" + "money" + "\n";
        while (rs.next()) {
          String temp = rs.getString(6);
          Countdays count = new Countdays(temp, c);
          String money = " " + price_eachday * count.getdays();
          p = p + rs.getString(1) + "\t\t" + rs.getString(2) + "\t\t" +
              rs.getString(3)
              + "\t\t" + rs.getString(4) + "\t\t\t" + rs.getString(5) + "\t\t" +
              money + "\n";

        }
        jTextArea1.setText(p);

      }
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      jTextArea1.append(sqlex.toString());
    }
  }

  void jButton5_actionPerformed(ActionEvent e) {
    jTextField2.setText("");
    jComboBox1.setSelectedIndex( -1);
    jTextField4.setText("");
    jTextField5.setText("");
    jTextField6.setText("");
    jTextField1.setText("");
    jTextArea1.setText("");
  }

  boolean morethanone = false;
  void jButton2_actionPerformed(ActionEvent e) {

    try {
      if (!jTextField2.getText().equals("")) {
        Statement statement = connect.createStatement(ResultSet.
            TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_UPDATABLE);
        String query = "SELECT ALL  * FROM hotel2 " +
            "WHERE name = '" +
            jTextField2.getText() + "'";

        jTextArea1.append("\n发送的命令: " +
                          connect.nativeSQL(query)
                          + "\n");

        ResultSet rs = statement.executeQuery(query);

⌨️ 快捷键说明

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