Witam,
Jestem początkującym w tej dziedzinie...Szukałem na forum, ale nie znalazłem rozwiązania tego problemu...
Otóż gdy próbuje zczytać dane z bazy MySql do JTabel, pokazuje mi zawsze tylko ostatni wiersz,
a wiem, że w tabeli jest ich wiecej. Gdy wyszukuje w bazie, to pokazuje mi wszytkie rekordy, natomiast gdy chce to wrzucić do JTable, to po tej operacji, w JTable pokazuje mi się ostatni wiersz tylko. Liczę na wyrozumiałość, bo odp na to pytanie pewnie jest prosta, jednak mi nic do głowy nie przychodzi [glowa] :)
Załączam najważniejsze części kodu:
static JTable table(){
String [] nazwyKolumn = {"id","gatunek","waga","długość","przyn_rodz",
"przyn_opis","łowiska","data"};
Object [][]dane = {{value1,value2,value3,value4,value5,value6,value7,value8}};
JTable tabelka = new JTable(dane, nazwyKolumn);
return tabelka;
}
następnie odczyt rekordów z bazy
static void SelectData(){
String select = "SELECT * FROM spinning";
try{
stmt = conn.createStatement();
ResultSet result = stmt.executeQuery(select);
while(result.next()){
value1 = result.getString("id");
System.out.print(value1+"\n");
value2 = result.getString("gatunek");
System.out.print(value2+"\n");
value3 = result.getString("waga");
System.out.print(value3+"\n");
value4 = result.getString("dlugosc");
System.out.print(value4+"\n");
value5 = result.getString("przyneta_rod");
System.out.print(value5+"\n");
value6 = result.getString("przyneta_opis");
System.out.print(value6+"\n");
value7 = result.getString("lowiski");
System.out.print(value7+"\n");
value8 = result.getString("data");
System.out.print(value8+"\n");
}
}catch(Exception e){
System.err.print("Pobranie danych z bazy nie powiodło się.");
}
}
i wyświetlenie tabeli:
static void GUI(){
JFrame mainWindow = new JFrame("Database");
JScrollPane scrollPane = new JScrollPane(table());
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1,0));
polatekstowe[0] = new JTextField();
polatekstowe[1] = new JTextField();
polatekstowe[2] = new JTextField();
polatekstowe[3] = new JTextField();
polatekstowe[4] = new JTextField();
polatekstowe[5] = new JTextField();
polatekstowe[6] = new JTextField();
polatekstowe[7] = new JTextField();
panel.add(polatekstowe[0]);
panel.add(polatekstowe[1]);
panel.add(polatekstowe[2]);
panel.add(polatekstowe[3]);
panel.add(polatekstowe[4]);
panel.add(polatekstowe[5]);
panel.add(polatekstowe[6]);
panel.add(polatekstowe[7]);
guzik.setBackground(Color.black);
new Ryby(guzik);
mainWindow.pack();
mainWindow.getContentPane().add(BorderLayout.SOUTH,panel);
mainWindow.getContentPane().add(BorderLayout.CENTER,guzik);
mainWindow.getContentPane().add(BorderLayout.NORTH,scrollPane);
mainWindow.setSize(1285, 505);
mainWindow.setVisible(true);
mainWindow.setDefaultCloseOperation(EXIT_ON_CLOSE);
}