我希望能够根据数量或名称对数据库中的表进行排序,但是我如何决定在什么情况下会发生什么?
下面是该表的代码。
public void tableupdate(JTable jTable1, String fill) {
try {
try {
Class.forName("org.h2.Driver");
Connection con = DriverManager.getConnection("jdbc:h2:file:D:/Inventory.db", "sa", "");
Statement stat = con.createStatement();
fill = "SELECT * FROM BOOKDESC ";
ResultSet rs = stat.executeQuery(fill);
while (jTable1.getRowCount() > 0) {
((DefaultTableModel) jTable1.getModel()).removeRow(0);
}
int columns = rs.getMetaData().getColumnCount();
while (rs.next()) {
Object[] row = new Object[columns];
for (int i = 1; i <= columns; i++) {
row[i - 1] = rs.getObject(i);
}
((DefaultTableModel) jTable1.getModel()).insertRow(rs.getRow() - 1, row);
}
rs.close();
stat.close();
con.close();
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
最佳答案
MySQL 提供了一种在 SELECT 语句中对数据进行排序的方法,称为 ORDER BY。
发现用法here .
这样,您的代码就不必完成这项工作,因为您的 ResultSet 已经获得了排序的数据。
关于java - 如何对数据库中的表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60741721/