Błąd "Column Index out of range, 6>5" - gdzie robię błąd?

Odpowiedz Nowy wątek
2014-12-20 21:16
Krwawy Jeleń
0

Witam, proszę o zerknięcie w mój kod. Borykam się z tym już 2 godziny, trochę googlowałem, ale ciągle nie wiem gdzie robię błąd...

        Object[][] informacjeZBazy = new Object[0][];
 
        Object[] kolumny = {"MaRka", "Model", "Pojemność", "Moc", "Kolor", "Paliwo"};
 
        ResultSet wiersze;
        ResultSetMetaData metaData;
 
        DefaultTableModel dTableModel = new DefaultTableModel(informacjeZBazy, kolumny) {
            public Class getColumnClass(int kol) {
                Class returnValue;
                if (kol >= 0 && kol < getColumnCount()) {
                    returnValue = getValueAt(0, kol).getClass();
                } else {
                    returnValue = Object.class;
                }
                return returnValue;
            }
        };
 
        try{
            Class.forName("com.mysql.jdbc.Driver");
 
            polaczenie = DriverManager.getConnection
                    ("jdbc:mysql://localhost/wypozyczalnia_samochodow", "X", "X");
 
            JOptionPane.showMessageDialog(null, "Połączenie powiodło się !");
 
            Statement zapytanie = polaczenie.createStatement();
            String select = "SELECT Marka, Model, Pojemnosc, Moc, Paliwo FROM samochod";
 
            wiersze = zapytanie.executeQuery(select);
 
            Object[] tempRow;
 
            while(wiersze.next()){
                tempRow = new Object[] {wiersze.getString(1), wiersze.getString(2), wiersze.getDouble(3),
                        wiersze.getInt(4), wiersze.getString(5), wiersze.getString(6) };
                dTableModel.addRow(tempRow);
            }

Błąd oczywiście jak w tytule. Pozdrawiam.

dodanie znacznika <code class="java"> - @furious programming

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26
Wstawiaj kod w znaczniki kolorujące składnię; - furious programming 2014-12-20 23:35

Pozostało 580 znaków

2014-12-20 21:25
1

Serio? 2 godziny? Na co? Bo chyba nie na naukę liczenia do 6 ani na angielski, bo problem miałbyś rozwiązany...
Ile kolumn wyciągasz z bazy?

SELECT Marka, Model, Pojemnosc, Moc, Paliwo FROM samochod

Ja widzę 5.

Do ilu kolumn się odnosisz?

tempRow = new Object[] {wiersze.getString(1), wiersze.getString(2), wiersze.getDouble(3), wiersze.getInt(4), wiersze.getString(5), wiersze.getString(6) };

1, 2, 3, 4, 5, 6! Do 6!

Co java na to?

Column Index out of range, 6>5

I ja sie wcale nie dziwię...


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.
edytowany 1x, ostatnio: Shalom, 2014-12-20 21:26

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0