📄 book_management.java
字号:
}
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 + -