Java GUI 连接数据库完成酒店客房系统

Java GUI 连接数据库完成酒店客房系统进行增删改查功能订房输入信息界面

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.Scanner;

///
//如果组件添加在panel小在面板中设置jp1.setLayout(null);
// jp1.add(jtf,null);嘉jp1.setLayout(null);可以实现隐藏文本框鼠标点击后才显示;

 public class 文本框监视器 extends JFrame {

      String roomnum;
      String id;
      String name;
      String condition;
     String room;
     String roomchange;
     String droproom;
    String roomcheck;
   String namecheck;
      JPanel jp1=new JPanel();
      JPanel   jp2=new JPanel();
      JPanel jp3=new JPanel();
      JPanel jp4=new JPanel();
      public 文本框监视器() {

          setTitle("订房");
          setBounds(500, 100, 500, 300);
          setDefaultCloseOperation(3);

         // Container c = getContentPane();
          //setLayout(null);
          JTabbedPane jtp=new JTabbedPane();
      jtp.add("订房与入住",jp1);
      jp1.setLayout(null);

        //  jtp.add("换房",jp2);
          add(jtp);
         jtp.add("换房",jp2);
         jtp.add("退房",jp3);
          jtp.add("查房",jp4);
        //  add("订房与入住",jp3);
       //   add("订房与入住",jp4);
         // JTabbedPane jtp=new JTabbedPane();
        //  JTabbedPane jfp1=new JTabbedPane();
       // jtp.add()
     // jtp.  setVisible(true);
   setVisible(true);

          JLabel jl = new JLabel("订房的房号");
          JLabel j2 = new JLabel("订房人的id");
          JLabel j3 = new JLabel("订房人姓名");
          JLabel j4 = new JLabel("预定/入住");
       //   jp1.setSize(250,250);
        //  add(jl, BorderLayout.NORTH);
          jl.setBounds(60,60,100,30);
          j2.setBounds(60,100,100,30);
          j3.setBounds(60,140,100,30);
          j4.setBounds(60,180,100,30);
          jp1.add(jl);
          jp1.add(j2);
          jp1.add(j3);
          jp1.add(j4);
          JTextField jtf = new JTextField();//可以用setbounds设置长宽高位置
          //jtf.setBounds(160,160,100,30);
          JTextField jtf1 = new JTextField();
         // jp1.add(jtf);
          jtf.setBounds(160,60,200,30);
          jp1.add(jtf);
          //jp1.add(jtf1);
          jtf1.setBounds(160,100,200,30);
          jp1.add(jtf1);
          JTextField jtf2 = new JTextField();
          jtf2.setBounds(160,140,200,30);

          jp1.add(jtf2);
          JTextField jtf3 = new JTextField();
          jtf3.setBounds(160,180,200,30);
          jp1.add(jtf3,null);
         // add(jtf, BorderLayout.CENTER);
        //  add(jtf1, BorderLayout.SOUTH);
          // jtf.addActionListener();
          JComboBox jcb = new JComboBox<String>();//下拉列表
      //    JCheckBox checkBox1=new JCheckBox("预定");
       //   JCheckBox cb2=new JCheckBox("入住");
        //  jp1.add(checkBox1);
          //jp1.add(cb2);
          //add(jcb,BorderLayout.CENTER);
          //JTextArea jta = new JTextArea();//文本域


          jtp.add("换房",jp2);
          jp2.setLayout(null);
          add(jtp);
          setVisible(true);

          JLabel jl1 = new JLabel("这个房间房号");
          JLabel jl2 = new JLabel("换到这个房号");
          jl1.setBounds(60,60,100,30);
          jl2.setBounds(60,100,100,30);
          jp2.add(jl1);
          jp2.add(jl2);
          JTextField jtfb = new JTextField();//可以用setbounds设置长宽高位置
          JTextField jtfb1 = new JTextField();
          jtfb.setBounds(160,60,200,30);
          jp2.add(jtfb);
          jtfb1.setBounds(160,100,200,30);
          jp2.add(jtfb1);
          JTextField jtfb2 = new JTextField();
          jtfb2.setBounds(160,140,200,30);
          jp2.add(jtfb2);



          JButton jbb = new JButton("换房");
          jp2.add(jbb);
          jbb.setBounds(400,150,80,30);
          jbb.addActionListener(new ActionListener() {
              @Override
              public void actionPerformed(ActionEvent e) {
                  room = jtfb.getText();
                  roomchange = jtfb1.getText();
                  boolean flag = new 换房jdbc().login(room,roomchange );
                  if (flag) {
                      System.out.println("换房成功");
                      new 对话框3();
                      setVisible(true);
                  } else {
                      System.out.println("换房失败");
                      new 对话框4();
                      setVisible(true);

                  }
              }
          });






          jtp.add("退房",jp3);
          jp3.setLayout(null);
          add(jtp);
          setVisible(true);

          JLabel jcl = new JLabel("退房房号");

          jcl.setBounds(60,60,100,30);

          jp3.add(jcl);

          JTextField jtfc = new JTextField();//可以用setbounds设置长宽高位置

          jtfc.setBounds(160,60,200,30);
          jp3.add(jtfc);



          JButton jbc = new JButton("退房");
          jp3.add(jbc);
          jbc.setBounds(400,150,80,30);
          jbc.addActionListener(new ActionListener() {
              @Override
              public void actionPerformed(ActionEvent e) {
                  droproom = jtfc.getText();

                  boolean flag = new 退房jdbc().login(droproom);
                  if (flag) {
                      System.out.println("退房成功");
                      new 对话框5();
                      setVisible(true);
                  } else {
                      System.out.println("退房失败");
                      new 对话框6();
                      setVisible(true);

                  }
              }
          });

          setTitle("查房");
          setBounds(500, 100, 500, 300);
          setDefaultCloseOperation(3);

          jtp.add("查房",jp4);
          jp4.setLayout(null);
          add(jtp);
          setVisible(true);

          JLabel jdl = new JLabel("房号");
          JLabel jd2 = new JLabel("客户名字");
          jdl.setBounds(60,60,100,30);
          jd2.setBounds(60,100,100,30);
          jp4.add(jdl);
          jp4.add(jd2);
          JTextField jtfd = new JTextField();//可以用setbounds设置长宽高位置
          JTextField jtfd1 = new JTextField();
          jtfd.setBounds(160,60,200,30);
          jp4.add(jtfd);
          jtfd1.setBounds(160,100,200,30);
          jp4.add(jtfd1);
          JTextField jtfd2 = new JTextField();
          jtfd2.setBounds(160,140,200,30);



          JButton jbd = new JButton("查询");
          jp4.add(jbd);
          jbd.setBounds(400,150,80,30);

          jbd.addActionListener(new ActionListener() {
                                   @Override
                                   public void actionPerformed(ActionEvent e) {
                                       roomcheck = jtfd.getText();
                                       namecheck = jtfd1.getText();

                                       boolean flag = new 查房jdbc().login(roomcheck,namecheck);
                                       if (flag) {
                                           System.out.println("查到消息");
                                           new 对话框7();
                                           setVisible(true);
                                       } else {
                                           System.out.println("未查到消息");
                                           new 对话框8();
                                           setVisible(true);

                                       }
                                   }
                               }
          );

          JButton jb = new JButton("确定");
          //add(jb, BorderLayout.EAST);
          //jb.setBounds(180,200,80,30);
         jp1.add(jb);
          jb.setBounds(400,150,80,30);
          jb.addActionListener(new ActionListener() {
                                   @Override
                                   public void actionPerformed(ActionEvent e) {
                                       roomnum = jtf.getText();
                                       id = jtf1.getText();
                                       name=jtf2.getText();
                                       condition=jtf3.getText();
                                       boolean flag = new 订房jdbc().login(roomnum, id,name,condition);
                                       if (flag) {
                                           System.out.println("订房成功");
                                           new 对话框1();
                                           setVisible(true);
                                       } else {
                                           System.out.println("订房失败");
                                           new 对话框2();
                                           setVisible(true);

                                       }

                                   }
                               }

                               );

      }
      public class 对话框1 extends JDialog {
          public 对话框1() {

              JLabel jb = new JLabel("预定成功");
              add(jb);
              setVisible(true);
setBounds(500,500,200,150);
          }
      }

      public class 对话框2 extends JDialog {
          public 对话框2() {
              JLabel jb = new JLabel("预定失败");
              add(jb);
              setVisible(true);
              setBounds(500, 500, 200, 150);
          }
      }

          public class 对话框3 extends JDialog {
              public 对话框3() {
                  JLabel jb = new JLabel("换房成功");
                  add(jb);
                  setVisible(true);
                  setBounds(500,500,200,150);
              }}
              public class 对话框4 extends JDialog {
                  public 对话框4() {
                      JLabel jb = new JLabel("换房失败");
                      add(jb);
                      setVisible(true);
                      setBounds(500,500,200,150);
                  }

     }

              public class 对话框5 extends JDialog {
                  public 对话框5() {
                      JLabel jb = new JLabel("退房成功");
                      add(jb);
                      setVisible(true);
                      setBounds(500,500,200,150);
                  }}


              public class 对话框6 extends JDialog {
                  public 对话框6() {
                      JLabel jb = new JLabel("退房失败");
                      add(jb);
                      setVisible(true);
                      setBounds(500,500,200,150);
                  }}

     public class 对话框7 extends JDialog {
         public 对话框7() {
             JLabel jb = new JLabel("查到消息");
             add(jb);
             setVisible(true);
             setBounds(500,500,200,150);
         }}
     public class 对话框8 extends JDialog {
         public 对话框8() {
             JLabel jb = new JLabel("未查到消息");
             add(jb);
             setVisible(true);
             setBounds(500,500,200,150);
         }}

      public static void main(String[] args) {

          new 文本框监视器();

      }}

按照姓名或者房号查询入住记录
按照姓名查询房态
按照房号查询
按照房号来查询

import java.sql.*;


public class 查房jdbc{




    public boolean login(String roomcheck,String namecheck) {

        System.out.println(roomcheck);System.out.println(namecheck);

        ResultSet rs = null;
        PreparedStatement prestat = null;//如果太try中在没执行到connetion给stat赋值则在后期释放资源stat时会报错空指针
        Connection conn = null;//同理

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");



            conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433; DatabaseName=roommanage", "sa", "123");
            String sql = "SELECT * from  [roommanage].[dbo].[roomcondition1] where roomnum=? or cname=?";
            prestat = conn.prepareStatement(sql);
            prestat.setString(1,roomcheck);
            prestat.setString(2,namecheck);
            rs = prestat.executeQuery();

           String roomnum;
            String name;
            String id;
            String condition;
            while (rs.next())
            {
                roomnum=rs.getString(1);
                name=rs.getString(2);
                id=rs.getString(3);
               condition=rs.getString(4);
                System.out.println("房号-----姓名-----ID-------入住情况");
                System.out.println(roomnum+"-----"+name+"-----"+id+"------"+condition);

                return true;
            }








        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        } catch (SQLException e1) {
            e1.printStackTrace();

        }
        finally {
            if (rs != null) ;
            {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }

            }
            if (prestat != null) {
                try {
                    prestat.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) ;
            {

                try {
                    conn.close();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }

            }
        }
        return false;
    }}

**用prepareStatement用动态sql语句设置参数?
String sql = “SELECT * from [roommanage].[dbo].[roomcondition1] where roomnum=? or cname=?”;
prestat = conn.prepareStatement(sql);
prestat.setString(1,roomcheck);
prestat.setString(2,namecheck);
**

按照房号退房
退房界面和代买

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class 退房jdbc {

    public boolean login(String droproom) {

        System.out.println(droproom);
        if (droproom == null ) {
            return false;
        }

        PreparedStatement prestat = null;//如果太try中在没执行到connetion给stat赋值则在后期释放资源stat时会报错空指针
        Connection conn = null;//同理

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

            int count;

            conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433; DatabaseName=roommanage", "sa", "123");
            String sql = "delete from [roommanage].[dbo].[roomcondition1] where roomnum=?";
            prestat = conn.prepareStatement(sql);
            prestat.setString(1,droproom);

            count=prestat.executeUpdate();
            //  prestat.setString(2,id);
            if(count>0){
                return  true;
            }

        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        } catch (SQLException e1) {
            e1.printStackTrace();

        }
        finally {

            if (prestat != null) {
                try {
                    prestat.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) ;
            {

                try {
                    conn.close();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }

            }
        }
        return false;
    }


}

换房界面
换房界面

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class 换房jdbc {
    public boolean login(String room,String roomchange) {

        System.out.println(room);System.out.println(roomchange);
        if (room == null || roomchange == null) {
            return false;
        }
        //  ResultSet rs = null;
        PreparedStatement prestat = null;//如果太try中在没执行到connetion给stat赋值则在后期释放资源stat时会报错空指针
        Connection conn = null;//同理

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

            int count;

            conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433; DatabaseName=roommanage", "sa", "123");
            String sql = "update  [roommanage].[dbo].[roomcondition1] set[roomnum] =? where [roomnum]=?";
            prestat = conn.prepareStatement(sql);
            prestat.setString(1,roomchange);
            prestat.setString(2,room);

            count=prestat.executeUpdate();
            //  prestat.setString(2,id);
            if(count>0){
                return  true;
            }



纯手码不易。所有模块都粘贴出来了,后期会在GUI界面上添加表格

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值