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

📄 book_management.java

📁 EIS的主界面文档。适合学习。调用其他下属模块。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	}
	
	private class Flash implements ActionListener{
		public void actionPerformed(ActionEvent e){	
		    data.clear();
		    choose.removeAllItems();
		    resultarea.setText("");		
			get_result();
			result.setModel(new DefaultTableModel(data,columnNames));
			result.repaint();
			result.show(true);
            
		}
	}
	private class Return implements ActionListener{
		public void actionPerformed(ActionEvent e){
			int bookid=Integer.parseInt(choose.getSelectedItem().toString());
			resultarea.setText("");
			try{
				CallableStatement  cs=con.prepareCall("{call sp_return(?,?)}");
		 	    cs.setInt(1,bookid);
		 	    
		        cs.registerOutParameter(2,Types.INTEGER);
		        cs.executeUpdate();
		        if(cs.getInt(2)==1)
		           resultarea.append("图书归还成功");
		        if(cs.getInt(2)==2)
		           resultarea.append("有预约者,成功申请此书");
		        cs.close();
		        data.clear();
		        choose.removeAllItems();		
		     	get_result();
			    result.setModel(new DefaultTableModel(data,columnNames));
			    result.repaint();
			    result.show(true);
            
			}
			 catch(Exception err){
               err.printStackTrace(System.out);
              
            }  	
		}
	}
}
class SearchPanel extends JPanel{
	private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=EIS";
	private Connection con;
	private int person_id;
	private	String name="sa";
	private String password="";
	private Vector<String> columnNames=new Vector<String>();
	private Vector data=new Vector();
	private Vector temp=new Vector();
	
	
	
	
	
	private JLabel search=new JLabel("- - - -:  :  :书目检索:  :  :- - - -",SwingConstants.CENTER);
	
	private JLabel search_word_types=new JLabel("检索词类型:");
	private JComboBox search_types=new JComboBox();
	
	private JLabel searcn_words_label=new JLabel("检索词:");
	private JTextField search_words_jtext=new JTextField(16);
	
	private JLabel match_types_label=new JLabel("匹配方式:");
	private JComboBox match_types=new JComboBox();
	
	private JButton search_button=new JButton("开始检索");
	
	private JLabel resultlabel=new JLabel("------:  :  :查询结果:  :  :-----",SwingConstants.CENTER);	
	
    private JTable result;	
	private JTextArea resultarea=new JTextArea();
	private JLabel borrowlabel=new JLabel("请选择书本的ID号:");
	private JComboBox choose=new JComboBox();
	private JButton borrowbutton=new JButton("借阅此书");
	private JButton bookingbutton=new JButton("预约此书");
	
	private String command=null;
	//private Connection con=null;
	//private Statement stmt=null;
	private ResultSet rs=null;

    
	public SearchPanel(Connection con,int pid){	
	    this.con=con;
	    person_id=pid;	
		search_types.addItem("所有题名");
		search_types.addItem("著/作者");
		search_types.addItem("标准号(ISBN)");
		search_types.addItem("出版社");
	
		match_types.addItem("精确匹配");
		match_types.addItem("模糊匹配");
		match_types.addItem("前向匹配");	
	//**************************************************************//	
		GridLayout  gridLayout1=new GridLayout(3,2);
        gridLayout1.setHgap(4);
        gridLayout1.setVgap(8);
        JPanel pannel=new JPanel();
        pannel.setLayout(gridLayout1);
        pannel.add(search_word_types);
        pannel.add(search_types);
        pannel.add(searcn_words_label);
        pannel.add(search_words_jtext);
        pannel.add(match_types_label);
        pannel.add(match_types);
        
        columnNames.add("书本ID");
        columnNames.add("书本名称");
        columnNames.add("作者");
        columnNames.add("出版社");
        columnNames.add("拥有者");
        columnNames.add("书本状态");
        result=new JTable(data,columnNames);
        JScrollPane p1=new JScrollPane(result);
        result.setPreferredScrollableViewportSize(new Dimension());
		result.setFillsViewportHeight(true);
		
        

        JPanel pannel2=new JPanel();
        pannel2.setLayout(new BorderLayout());
        pannel2.add(resultlabel,BorderLayout.NORTH);
        pannel2.add(p1,BorderLayout.CENTER);
            
        JPanel pannel5=new JPanel();
        pannel5.setLayout(new BorderLayout());
        pannel5.add(resultarea,BorderLayout.CENTER);
        JPanel pannel6=new JPanel();
        pannel6.setLayout(new GridLayout(1,4));
        pannel6.add(borrowlabel);
        pannel6.add(choose);
        pannel6.add(borrowbutton);
        pannel6.add(bookingbutton);
        pannel5.add(pannel6,BorderLayout.SOUTH);
        borrowbutton.addActionListener(new Borrow());
        bookingbutton.addActionListener(new Booking());
        
        GridLayout  gridLayout3=new GridLayout(2,1);
        gridLayout3.setHgap(4);
        gridLayout3.setVgap(8);
        JPanel pannel3=new JPanel();
        pannel3.setLayout(gridLayout3);
        pannel3.add(pannel2);    
        
        JPanel pannel7=new JPanel();
        pannel7.setLayout(new BorderLayout());
        pannel7.add(search,BorderLayout.NORTH);
        pannel7.add(pannel,BorderLayout.CENTER);
        pannel7.add(search_button,BorderLayout.SOUTH);
        
        setLayout(new BorderLayout());  
        add(pannel7,BorderLayout.NORTH);
        add(pannel3,BorderLayout.CENTER);
        add(pannel5,BorderLayout.SOUTH);
        
        search_button.addActionListener(new Search());
                
        setVisible(true);
        validate();  
        
        //*********************************
        
        //**********************************

	

	}
	
	private class Search implements ActionListener{
	  public void actionPerformed(ActionEvent evt)
	  {
	  			
		
			String searchvalue=search_words_jtext.getText().trim();
			
			//精确。。
			if(search_types.getSelectedIndex()==0&&match_types.getSelectedIndex()==0)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE BookName='"+searchvalue+"'";
			}
			if(search_types.getSelectedIndex()==1&&match_types.getSelectedIndex()==0)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE Auother='"+searchvalue+"'";
			}
			if(search_types.getSelectedIndex()==2&&match_types.getSelectedIndex()==0)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE ISBN='"+searchvalue+"'";
			}
			if(search_types.getSelectedIndex()==3&&match_types.getSelectedIndex()==0)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE Publish='"+searchvalue+"'";
			}

			
			//模糊。。
			String name1=" LIKE '%"+searchvalue+"%'";                 
			String auother1=" LIKE '%"+searchvalue+"%'";
			String isbn1=" LIKE '%"+searchvalue+"%'";
			String publish1=" LIKE '%"+searchvalue+"%'";
			if(search_types.getSelectedIndex()==0&&match_types.getSelectedIndex()==1)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE BookName"+name1;
			}
			if(search_types.getSelectedIndex()==1&&match_types.getSelectedIndex()==1)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE Auother"+auother1;
			}
			if(search_types.getSelectedIndex()==2&&match_types.getSelectedIndex()==1)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE ISBN"+isbn1;
			}
			if(search_types.getSelectedIndex()==3&&match_types.getSelectedIndex()==1)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE Publish"+publish1;
			}
			
			
			//前向.
			String name2=" LIKE '"+searchvalue+"%'";
			String auother2=" LIKE '"+searchvalue+"%'";
			String isbn2=" LIKE '"+searchvalue+"%'";
			String publish2=" LIKE '"+searchvalue+"%'";
			if(search_types.getSelectedIndex()==0&&match_types.getSelectedIndex()==2)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE BookName"+name2;
			}
			if(search_types.getSelectedIndex()==1&&match_types.getSelectedIndex()==2)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE Auother"+auother2;
			}
			if(search_types.getSelectedIndex()==2&&match_types.getSelectedIndex()==2)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE ISBN"+isbn2;
			}
			if(search_types.getSelectedIndex()==3&&match_types.getSelectedIndex()==2)
			{
				command="SELECT BookID,BookName,Author,Publish,Owner,Statement FROM Book WHERE Publish"+publish2;
			}
			try{
			command=new String(command.getBytes(),"ISO-8859-1");
			//rs=stmt.executeQuery(command);
			
			   //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
			   //System.out.println( "类实例化成功!" );
			   //con = DriverManager.getConnection(url,name,password);
			   //System.out.println( "创建连接对像成功!" );
               //System.out.println( "创建Statement成功!" );
               Statement st=con.createStatement();
               rs=st.executeQuery(command);
		    
	 	    

			resultarea.setText("");
			data.clear();
			choose.removeAllItems();
			if(!rs.next())
			  resultarea.setText("找不符合条件的书本");
			 else{
			 	String rebookid;
			 	String rebookname;
			 	String reauthor;
			 	String republish;
			 	String owner;
                int stmt,count=0;
			 	do{
			 	    rebookid=rs.getString("BookID").trim();
			 		rebookname=rs.getString("Bookname").trim();
			 		reauthor=rs.getString("Author").trim();
			 		republish=rs.getString("Publish").trim();
			 		owner=rs.getString("Owner").trim();
			 		stmt=rs.getInt("Statement");
			 		
			 		rebookid=new String(rebookid.getBytes("ISO-8859-1"),"GB2312");
			 		choose.addItem(rebookid);
			 		rebookname=new String(rebookname.getBytes("ISO-8859-1"),"GB2312");
			 		//reauthor=new String(reauthor.getBytes("ISO-8859-1"),"GB2312");
			 		//republish=new String(republish.getBytes("ISO-8859-1"),"GB2312");
			 		owner=new String(owner.getBytes("ISO-8859-1"),"GB2312");
			 		
			 		temp.add(rebookid);
			 		temp.add(rebookname);
			 		temp.add(reauthor);
			 		temp.add(republish);
			 		temp.add(owner);
			 		if(stmt==1){
			 			temp.add("在库可借");
			 		}
			 		else{
			 			temp.add("借出");
			 		}
			 		data.add(new Vector(temp));
			 		temp.clear();
			 		count++;

			 	}while(rs.next());
			 	result.setModel(new DefaultTableModel(data,columnNames));
		     	result.repaint();
			    result.show(true);
			 	resultarea.append("一共搜索到符合的记录"+Integer.toString(count)+"条");
			 	
			 }
			 rs.close();
			 st.close();
			 		
	      }catch(Exception err){
               err.printStackTrace(System.out);
            }  
	  
	
    }
 }
    
    private class Borrow implements ActionListener
    {
	  public void actionPerformed(ActionEvent evt)
	  {
	  	 int bookid=Integer.parseInt(choose.getSelectedItem().toString());
	  	 
	  	 int pid=person_id;
	  	 resultarea.setText("");
		 try{
		 	CallableStatement  cs=con.prepareCall("{call sp_borrow(?,?,?)}");
		 	cs.setInt(1,bookid);
		 	cs.setInt(2,pid);
		    cs.registerOutParameter(3,Types.INTEGER);
		    cs.executeUpdate();
		    if(cs.getInt(3)==-1)
		       resultarea.append("不能借阅自己的书");
		    else if(cs.getInt(3)==0)
		       resultarea.append("已被借阅,借阅失败!");
		    else if(cs.getInt(3)==1)
		       resultarea.append("恭喜你,借阅成功!请到拥有者处取书");
		     
		     
		    cs.close();
		 }
		 
		 catch(Exception err){
               err.printStackTrace(System.out);
              
            }  	
	 }
	
   }
   private class Booking implements ActionListener{
   	public void actionPerformed(ActionEvent ae){
   		int bookid=Integer.parseInt(choose.getSelectedItem().toString());
   		int pid=person_id;
   		resultarea.setText("");
   		try{
   			 CallableStatement  cs=con.prepareCall("{call sp_booking(?,?,?)}");
		 	   cs.setInt(1,bookid);
		 	   cs.setInt(2,pid);
		       cs.registerOutParameter(3,Types.INTEGER);
		       cs.executeUpdate();
		       if(cs.getInt(3)==-1)
		         resultarea.append("不能预约自己的书");
		       else if(cs.getInt(3)==0)
		           resultarea.append("已经有比你信誉度高的用户预约此书,预约失败");
		       else if(cs.getInt(3)==1)
		           resultarea.append("恭喜你,预约成功!");
		       else if(cs.getInt(3)==2)
		           resultarea.append("本书处于可借状态,您可以直接借阅");
		       else if(cs.getInt(3)==-2)
		           resultarea.append("您已经借阅了本书,不能再进行预约了");
		      
		    cs.close();
   		}
   		catch(Exception err){
               err.printStackTrace(System.out);
              
            }  
   	}
   }
}

⌨️ 快捷键说明

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