jComboBox + SQL Developer zdublowane wartości.

jComboBox + SQL Developer zdublowane wartości.
C1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 35
0

Witam
W jaki sposób mogę wczytać do jComboBoxa dane z bazy tak aby nie było "dubli"?
Zrobiłem aby wypełniał ComboBoxa wartościami z bazy jednak do wyboru są też zdublowane wartości. Po prostu wczytuje dane 1 do 1.
W jaki sposób mogę pominąć zdublowane wartości ?

Kopiuj
public void fillCombo(){
        String sql= "Select * from AUTA";
    try {
        ps=con.prepareStatement(sql);
        res=ps.executeQuery();
        while(res.next()){
            Marka.addItem(res.getString("MARKA"));
            Model.addItem(res.getString("MODEL"));
            Silnik.addItem(res.getString("SILNIK"));
            Zastosowanie.addItem(res.getString("ZASTOSOWANIE"));
            Awaryjnosc.addItem(res.getString("AWARYJNOSC"));
            Typ.addItem(res.getString("TYP"));
            Poj_bag.addItem(res.getString("POJ_BAG"));
            Paliwo.addItem(res.getString("PALIWO"));
            Koszty.addItem(res.getString("KOSZTY"));
        }
    } catch (SQLException ex) {
        Logger.getLogger(wybor.class.getName()).log(Level.SEVERE, null, ex);
    }
        
    }

Bardzo proszę o pomoc :).
Pewnie to banalne rozwiązanie ale męczę się już z tym trochę.

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie dodawaj bezpośrednio do JComboBoksów tylko do zbiorów (HashSet). Potem przekonwertuj zbiory na tablice (toArray) i użyj tablic jako modelu dla JComboBoksów.

C1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 35
0

Poradziłem sobie :) do każdego zrobiłem osobną metodę i działa elegancko :)

Kopiuj
public void fillMarka(){
        Marka.enable();
    String sql1= "Select MARKA from AUTA GROUP BY MARKA ORDER BY MARKA ASC";
        try {
            ps=con.prepareStatement(sql1);
            res=ps.executeQuery();
            while(res.next()){
                Marka.addItem(res.getString("MARKA"));
            }
        } catch (SQLException ex) {
        Logger.getLogger(wybor.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 419
0

Nie lepiej byłoby zrobić?

Kopiuj
Select distinct MARKA from AUTA ORDER BY MARKA ASC

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.