📄 bookinfo.java
字号:
package 图书馆;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
/**
*
* @author hp
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class BookInfo implements ActionListener {
private JFrame frame;
private Statement stmt;
private Connection con;
private JTable tableTest;
private String[] columnNames = { "书名", "书号","作者","出版社","书价","位置"};
private Object[][] rowData = new Object[100][6];
private JButton btn;
private JRadioButton rbtn1, rbtn2;
private JTextField jtfd;
/**
* 构造函数
*
*/
public BookInfo() {
frame = new JFrame("图书信息查询");
Container content = frame.getContentPane();
/**
* 设置组件
*/
btn = new JButton("查询");
jtfd = new JTextField();
JPanel pl = new JPanel();
rbtn1 = new JRadioButton("书名");
rbtn2 = new JRadioButton("书号");
btn.addActionListener(this);
ButtonGroup group = new ButtonGroup();
group.add(rbtn1);
group.add(rbtn2);
pl.setLayout(new GridLayout(1, 4, 10, 0));
pl.add(rbtn1);
pl.add(rbtn2);
pl.add(jtfd);
pl.add(btn);
tableTest = new JTable(rowData, columnNames);
JScrollPane scrollPane = new JScrollPane(tableTest);
content.add(pl, BorderLayout.NORTH);
content.add(scrollPane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
/**
* 连接数据库
*/
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:demo");
stmt = con.createStatement();
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
/**
* 事件处理
*/
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();//返回最初发生 ActionEvent 的对象
ResultSet result;
String sqlStr;
int i = 0;
String str = jtfd.getText().trim();
/**
* 查询方式rbtn1, rbtn2的选择
*/
if (rbtn2.isSelected()) {
sqlStr = "select * from Bookinfo where "
+ "书号=" + "'" + str + "'";
} else {
sqlStr = "select *from Bookinfo "
+ "where 书名 like '%" + str + "%'";
}
try {
if (obj == btn) {
if (str.equals("")) {
JOptionPane.showMessageDialog(frame, "Text was null!");
return;
}
result = stmt.executeQuery(sqlStr);
/**
* 通过循环更新表格
*/
for (int j = 0; j < rowData.length; j++) {
for (int k = 0; k < 6; k++)
rowData[j][k] = null;
}
tableTest.repaint();
/**
* 获取表Bookinfo中rowData的信息
*/
while (result.next()) {
if (i < rowData.length) {
rowData[i][0] = result.getString("书名");
rowData[i][1] = result.getString("书号");
rowData[i][2] = result.getString("作者");
rowData[i][3] = result.getString("出版社");
rowData[i][4] = result.getString("书价");
rowData[i][5] = result.getString("位置");
i++;
} else {
JOptionPane.showMessageDialog(frame,
"please specify the bookname!");
}
}
jtfd.setText("");
}
} catch (SQLException sqle) {
System.err.println(sqle);
}
}
/**
* 主函数
* @param args
*/
public static void main(String[] args) {
new BookInfo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -