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

📄 distill[anank].java

📁 (1)功能模块: A :个人开户功能 B :查询功能 查询个人用户信息 查询各个房间使用信息 查询寄存物品信息 C :增加寄存物品模块 用JAVA实现宾馆客房管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.* ;
import javax.swing.event.ListSelectionListener ;//用ListSelectionListener和ListSelectionEvent的时候好像要单独引入!~
import javax.swing.event.ListSelectionEvent ;
import java.util.Date ;
import java.lang.Boolean ;

public class Distill
{
	static Object[][] myData = new Object[100][6] ;//这个地方必须给出空间!
	public Distill()
	{
		JFrame.setDefaultLookAndFeelDecorated(true);//把JFrame设置城修饰的外观!
		for( int i = 0 ;i < 100 ; i++)
		    for(int j = 0 ;j < 5; j++)
		        myData[i][j] = new String() ;
		for(int i = 0 ; i< 100 ;i++)
		        myData[i][5] = new Boolean(false) ;
		final JFrame frame = new JFrame("寄存设置--提取") ;
		frame.setSize(600, 450) ;
		
		//建立上面的面板,设置布局管理方法:GridBagLayout
	    JPanel panUp = new JPanel() ;
	    GridBagLayout gbl = new GridBagLayout() ;
	    GridBagConstraints gbc = new GridBagConstraints() ;
	    panUp.setLayout(gbl) ;
	    //
	    JLabel lblNumber = new JLabel("根据寄存号码查询", SwingConstants.LEFT) ;
	    gbc.gridx = 0 ;
	    gbc.gridy = 0 ;
	    gbc.gridwidth = 1 ;
	    gbc.gridheight = 1 ;
	    
	    gbl.setConstraints(lblNumber, gbc) ;
	    panUp.add(lblNumber) ;
	    //
	    final JTextField txtNumber = new JTextField(12) ;
	    /*
	     *为txtNumber田间监听程序:
	     *如果txtNumber获得焦点,那么JTable里面的数据全面清除!
	     */
	    gbc.gridx++ ;
	    gbc.gridy = gbc.gridy ;
	    gbc.gridwidth = 1 ;
	    gbc.gridheight = 1 ;
	    gbl.setConstraints(txtNumber, gbc) ;
	    panUp.add(txtNumber) ;
	    //
	    JLabel lblName = new JLabel("根据姓名查询") ;
	    gbc.gridx++ ;
	    gbc.gridy = gbc.gridy ;
	    gbc.gridwidth = 1 ;
	    gbc.gridheight = 1 ;
	    gbc.insets = new Insets(10, 20, 10, 20) ;
	    gbl.setConstraints(lblName, gbc) ;
	    panUp.add(lblName) ;
	    gbc.insets = new Insets(0, 0, 0, 0) ;
	    final JPasswordField txtPassword = new JPasswordField(10) ;
	    //
	    final JTextField txtName = new JTextField(10) ;
	    gbc.gridx++ ;
	    gbc.gridy = gbc.gridy ;
	    gbc.gridwidth = 1 ;
	    gbc.gridheight = 1 ;
	    gbl.setConstraints(txtName, gbc) ;
	    panUp.add(txtName) ;
	    panUp.setBorder(BorderFactory.createTitledBorder("查询")) ;
	    //
	    JButton btnQuery = new JButton("查询") ;
	    gbc.gridx++ ;
	    gbc.gridy = gbc.gridy ;
	    gbc.gridwidth = 1 ;
	    gbc.gridheight = 1 ;
	    gbc.ipadx = 50 ;
	    gbc.ipady = -4 ;
	    gbc.insets = new Insets(10, 40, 10, 0) ;
	    gbl.setConstraints(btnQuery, gbc) ;
	    panUp.add(btnQuery) ;
	    gbc.ipadx = 0 ;
	    gbc.ipady = 0 ;
	    gbc.insets = new Insets(0, 0, 0, 0) ;
	    //panUp已经设计完毕!
	    //panUnder布局管理设置成GridBagLayout
	    JPanel panUnder = new JPanel() ;
	    GridBagLayout gbl2 = new GridBagLayout() ;
	    GridBagConstraints gbc2 = new GridBagConstraints() ;
	    panUnder.setLayout(new BorderLayout()) ;
	    //在树的上面
	    ModelTable model = new ModelTable() ;
	    final JTable table = new JTable(model) ;
	    panUnder.add(new JScrollPane(table), "West") ;
	    //定义一个新的JPanel,放置别的组件
	    JPanel panRight = new JPanel() ;
	    panRight.setLayout(gbl2) ;
	    //
	    JLabel lblPassword = new JLabel("请输入提取密码:") ;
	    gbc2.gridx = 0 ;
	    gbc2.gridy = 0 ;
	    gbc2.insets = new Insets(100, 0, 0, 0) ;
	    gbc2.gridwidth = 1;
	    gbc2.gridheight = 1 ;
	    gbl2.setConstraints(lblPassword, gbc2) ;
	    panRight.add(lblPassword) ;
	    gbc2.insets = new Insets(0, 0, 0, 0) ;
	    //
	    gbc2.gridx = gbc2.gridx ;
	    gbc2.gridy++ ;
	    gbc2.gridwidth = 1 ;
	    gbc2.gridheight = 1 ;
	    gbl2.setConstraints(txtPassword, gbc2) ;
	    panRight.add(txtPassword) ;
	    //
	    btnQuery.addActionListener(new ActionListener()
	        {
	        	
	        	public void actionPerformed(ActionEvent e)
	        	{
	        		boolean boolQuery = false ;
	        		String strNumber = new String() ;
	        		String strName = new String() ;
	        		String strConNumber = new String() ;
	        		int rowSelected = 0 ;
	        		String strGetPassword = new String() ;
	        		if(txtNumber.getText().trim().length() != 0 && txtName.getText().length() != 0)
	        		{
	        			JOptionPane.showMessageDialog(null, "查询依据只能输一个!") ;
	        			return ;
	        		}
	        		
	        		if(txtNumber.getText().length() != 0 || txtName.getText().length() != 0)
	        		{
	        			if(txtNumber.getText().trim().length() != 0)//如果根据寄存号码来查询!
	        			{
	        				strNumber = txtNumber.getText().trim() ;
	        		    }
	        		    if(txtName.getText().trim().length() != 0)
	        		    {
	        		    	strName = txtName.getText().trim() ;
	        		    }
	        			
	        		}
	        		else
	        		{
	        			JOptionPane.showMessageDialog(null, "请输入一项查询依据!") ;
	        			return ;
	        		
	        		}
	        		//上一段程序是测试应该采取哪种方法:
	        		//进行数据库查询!
	        		//数据库驱动程序注册!
	        		try
	        		{
	        			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
	        		}
	        		catch(Exception ee)
	        		{
	        			JOptionPane.showMessageDialog(null, "数据库驱动程序注册失败!") ;
	        		}
	        		//连接数据库,并进行查询!
	        		try
	        		{
	        			Connection con = DriverManager.getConnection("jdbc:odbc:Hotel") ;
	        			Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                                            ResultSet.CONCUR_UPDATABLE) ;
                     
                       
                        	try
                        	{
                        		ResultSet rst = smt.executeQuery("SELECT * "+
                        		                                 "FROM table_Consign"
                        		                                 ) ;
                        		System.out.println("(2)") ;
                        		rst.beforeFirst() ;
                        		int numbers = -1 ;
                        		while(rst.next())
                        		{
                        			String getNumber = rst.getString(1) ;
                        			String getName = rst.getString(2) ;
                        			strGetPassword = rst.getString(4) ;
                        			String getConName = rst.getString(5) ;
                        			int getCount = rst.getInt(6) ;
                        			String strGetCount = String.valueOf(getCount) ;
                        			String getTime = rst.getString(8) ;
                        			String getState = rst.getString(12) ;
                        		    Boolean getBool = new Boolean(false) ;
                        		    if(getState.equals("提取"))
                        		        getBool = new Boolean(true) ;
                        		    else
                        		        getBool = new Boolean(false) ;
                        		    //根据寄存号码来查询!
                        		    if(getNumber.length() != 0 || getName.length() != 0)
                        			if(getNumber.equals(strNumber) || getName.equals(strName))
                        			{
                        				numbers++ ;
                        				if(numbers == 0)
                        				    JOptionPane.showMessageDialog(null, "找到数据!") ;
                        				boolQuery = true ;
                        				
                        				/*
                        				 *如果找到数据,那么现对原来的数据进行清空!然后输出找到的数据!
                        				 */
                        				 if(numbers == 0 )
                        				 {
                        				 	for( int i = 0 ;i < 100 ; i++)
		                                    for(int j = 0 ;j < 5; j++)
		                                        myData[i][j] = new String() ;
		                                    for(int i = 0 ; i< 100 ;i++)
		                                     myData[i][5] = new Boolean(false) ;
                        				 	
                        				 }
                        				 
                        				
		                                
		                                myData[numbers][0] = getNumber ;
		                                myData[numbers][1] = getName ;
		                                myData[numbers][2] = getConName ;
		                                myData[numbers][3] = strGetCount ;
		                                myData[numbers][4] = getTime ;
		                                myData[numbers][5] = getBool ;
                        				
                        			}
                        			
                        	
                        		}//while循环结束!
                        	}
                        	catch(SQLException eee)
                        	{
                        		JOptionPane.showMessageDialog(null,eee.toString()) ;
                        	}
                        
	        		}
	        		catch(SQLException ee)
	        		{
	        			JOptionPane.showMessageDialog(null, "数据库连接失败!") ;
	        		}
	        		if(boolQuery == false)
	        		{
	        			JOptionPane.showMessageDialog(null, "没有找到符合条件的数据!") ;
	        			for( int i = 0 ;i < 100 ; i++)
		                for(int j = 0 ;j < 5; j++)
		                        myData[i][j] = new String() ;
		                for(int i = 0 ; i< 100 ;i++)
		                       myData[i][5] = new Boolean(false) ;
	        	    }
	        		//查询完毕!
	        		/*
	        		 *程序设计缺陷:
	        		 *这个地方不管用户是不是要查询,系统都会查询一遍!
	        		 */
	        	}//处理函数结束!
	        }) ;//监听类结束!
	    JButton btnConfirm = new JButton("确定") ;
	    btnConfirm.addActionListener(new ActionListener()
	        {
	        	public void actionPerformed(ActionEvent e)
	        	{
	        		int rowSelected = table.getSelectedRow() ;
	        		if(rowSelected == -1)
	        		 {
	        		     JOptionPane.showMessageDialog(null, "请选择一行!") ;
	        		     return ;
	        		 }
	        		 if(((Boolean)table.getModel().getValueAt(rowSelected, 5)).booleanValue() == true)
	        		 {
	        		 	JOptionPane.showMessageDialog(null, "已经提取过,不能再提取!") ;
	        		 	return ;
	        		 }
	        		 if(((String)table.getModel().getValueAt(rowSelected, 0)).equals("") )
	        		 {
	        		 	JOptionPane.showMessageDialog(null, "请选择一行数据!") ;
	        		 	return ;
	        		 }
	        		//////////////////////////////////////////////
	        		//进行数据库操作
	        		try
	        		{
	        			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
	        		}
	        		catch(Exception ee)
	        		{
	        			JOptionPane.showMessageDialog(null, "数据库驱动程序注册失败!") ;
	        		}
	        		//连接数据库,并进行查询!
	        		try
	        		{
	        			Connection con = DriverManager.getConnection("jdbc:odbc:Hotel") ;
	        			Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                                            ResultSet.CONCUR_UPDATABLE) ;
                        try
                        {
                        	ResultSet rst = smt.executeQuery("select * from table_Consign") ;
                        	rst.beforeFirst() ;
                        	String connumber =(String) table.getModel().getValueAt(rowSelected, 0) ;
                        	String temp = new String() ;
                            
                        	while(rst.next())
                        	{
                        		if(rst.getString(1).equals(connumber))
                        		{
           
                        			temp = rst.getString(11) ;
                        			System.out.println(temp) ;
                        			if(txtPassword.getText().trim().equals(rst.getString(4)))
                        			{
                        				JOptionPane.showMessageDialog(null, "提取成功!") ;
                        				smt.executeUpdate("update table_Consign set 状态='提取' where 寄存号码='"+connumber+"'") ;
                        				break ;
                        			}
                        		    else
                        		    {

⌨️ 快捷键说明

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