📄 bookinfosearch.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import javax.swing.table.*;
public class BookInfoSearch extends JFrame
{
ResultSet rs;
private DBManager db=new DBManager();
private JPanel centerpanel;
private JScrollPane scrollpane;
private JLabel bookname;
private JLabel publisher;
private JLabel auther;
private JTextField mybookname;
private JTextField mypublisher;
private JTextField myauther;
private JButton ok;
private Vector tempvector=new Vector(1,1);
DefaultTableModel model=new DefaultTableModel();
JTable table=new JTable(model);
public BookInfoSearch()
{
centerpanel=new JPanel(new GridLayout(2,2));
scrollpane=new JScrollPane();
bookname=new JLabel("书 名");
publisher=new JLabel("出版社");
auther=new JLabel("作 者");
mybookname=new JTextField(16);
mypublisher=new JTextField(16);
myauther=new JTextField(16);
ok=new JButton("查询");
centerpanel.add(bookname);
centerpanel.add(mybookname);
centerpanel.add(publisher);
centerpanel.add(mypublisher);
centerpanel.add(auther);
centerpanel.add(myauther);
centerpanel.add(ok);
//model中加入列名
model.addColumn("书名");
model.addColumn("出版社");
model.addColumn("作者");
model.addColumn("地址");
model.addColumn("出版日期");
model.addColumn("定价");
model.addColumn("评论");
scrollpane.getViewport().add(table,null);
getContentPane().add(centerpanel,"North");
getContentPane().add(scrollpane,"Center");
setTitle("书籍信息查询");
setSize(500,500);
Dimension screen=getToolkit().getScreenSize();
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
ok.addMouseListener(
new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
BookSearch();
}
}
);
show();
}
public void BookSearch()
{
String sql;
boolean isfirst=true;
//检验书目是否存在
sql="select * from 书籍信息表";
if(!mybookname.getText().trim().equals(""))
{
sql="select * from 书籍信息表 where bookname='"+mybookname.getText().trim()+"'" ;
isfirst=false;
}
if(!mypublisher.getText().trim().equals(""))
{
if(isfirst)
{
sql="select * from 书籍信息表 where press='"+mypublisher.getText().trim()+"'" ;
isfirst=false;
}
else
{
sql=" select * from 书籍信息表 and press='"+mypublisher.getText().trim()+"'" ;
}
}
if(!myauther.getText().trim().equals(""))
{
if(isfirst)
{
sql="select * from 书籍信息表 where auther='"+myauther.getText().trim()+"'" ;
isfirst=false;
}
else
{
sql="select * from 书籍信息表 and auther='"+myauther.getText().trim()+"'" ;
}
}
//执行对数据库的查询
rs=db.getResult(sql);
boolean isexist=false;
try
{
isexist=rs.first();
}
catch(SQLException ex1)
{
JOptionPane.showMessageDialog(null,"ex1.toString()"+ex1.toString());
}
//若书目不存在,提示警告信息提醒用户
if(!isexist)
{
JOptionPane.showMessageDialog(null,"书库中没有书目,请确认");
return;
}
//若存在,执行显示书目
//清空model中的对象
else
{
for(int i=0;i<model.getRowCount();i++)
{
model.removeRow(i);
}
try{
//移动光标到零的位置
rs.beforeFirst();
//逐条将查询结果显示在table中
while(rs.next())
{
tempvector=new Vector(1,1);
tempvector.add(rs.getString("bookname"));
tempvector.add(rs.getString("press"));
tempvector.add(rs.getString("auther"));
tempvector.add(rs.getString("address"));
tempvector.add(rs.getString("pressdate"));
tempvector.add(rs.getString("price"));
tempvector.add(rs.getString("comment"));
model.addRow(tempvector);
}
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,"发生错误!");
}
}
}
public static void main( String args[] )
{
new BookInfoSearch();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -