Я пытаюсь загрузить данные из MySQL в мое приложение, где у меня есть jTable.Я хочу загрузить только 100 строк, используя запрос, и я могу сделать это успешно, как сейчас.кроме того, я хочу разбить эти данные на страницы таким образом, чтобы при наличии следующей кнопки и нажатии на нее таблица обновлялась еще на 100 записей и т. д.
Этот метод загружаетданные в таблицу:
public void showTable(){
try{
how.res = how.stat.executeQuery("select * from students order by name ASC limit 100");
while(how.res.next()){
String id = how.res.getString(1);
String name = how.res.getString(2);
String contact = how.res.getString(3);
Object[] content = {id,name,contact};
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.addRow(content);
}
}catch (Exception e){
}
}
Я вызываю этот метод при инициализации формы, и теперь я получаю только 100 строк в таблицу, что я должен написать для следующей кнопки, чтобы загрузить следующие 100 строк и обновить таблицу?
Что я пробовал:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
numClick+=100;
how.res = how.stat.executeQuery("select * from students offset"+numClick+"");
while(how.res.next()){
String id = how.res.getString(1);
String name = how.res.getString(2);
String contact = how.res.getString(3);
Object[] content = {id,name,contact};
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.addRow(content);
}
}catch (Exception e){
}
}
Но это не дает мне никакого результата.
Вот соединение:
public class JoinConnection {
public Connection con;
public Statement stat;
public ResultSet res;
public JoinConnection(){
systemConnection();
}
public void systemConnection(){
try{
Class.forName("com.mysql.jdbc.Driver");
con =(com.mysql.jdbc.Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/library","root","");
stat = (Statement) con.createStatement();
}catch(ClassNotFoundException | SQLException e){System.out.println(e);}
}
}
IЯ использую NetBeans с MySQL.если вопрос не ясен, скажите, пожалуйста, для разъяснения.
РЕДАКТИРОВАТЬ: Благодаря @ Джорджу З. Мы решили проблему, изменив метод кнопки на что-то вроде ниже.Я редактирую вопрос, потому что не могу написать ответ в комментариях:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
try{
numClick+=100;
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.setRowCount(0);
how.res = how.stat.executeQuery("select * from students limit "+numClick+" , 100");
while(how.res.next())
{
String id = how.res.getString(1);
String name = how.res.getString(2);
String contact = how.res.getString(3);
Object[] content = {id,name,contact};
model.addRow(content);
}
}catch (SQLException e){
e.printStackTrace();
}
}