DBConn dbconn = new DBConn();
Statement stmt = null;
ResultSet rs = null;
int rowNum = infoTable.getSelectedRow();
try {
stmt = dbconn.getConnection().createStatement();
String sql = "select * from my_address_book where name like'%" +key + "%'";
System.out.println(sql);
rs = stmt.executeQuery(sql);
info.clear();
while (rs.next()) {
Vector<String> row = new Vector<String>();
row.add(rs.getString(1));
row.add(rs.getString(2));
row.add(rs.getString(3));
row.add(rs.getString(4));
row.add(rs.getString(5));
row.add(rs.getString(6));
row.add(rs.getString(7));
row.add(rs.getString(8));
info.add(row);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DefaultTableModel model = new DefaultTableModel(MyAddressBook.info, MyAddressBook.column);
MyAddressBook.infoTable.setModel(model);
TableColumn column1 = MyAddressBook.infoTable.getColumnModel().getColumn(0);
column1.setMaxWidth(40);
column1.setMinWidth(40);
TableColumn column3 = MyAddressBook.infoTable.getColumnModel().getColumn(2);
column3.setMaxWidth(40);
column3.setMinWidth(40);
}
}
like后面不能这么用,要用sql语法concat()去拼接。
String sql = "select * from my_address_book where name like concat('%'" +key + "%')";