Lautsprecher
Erfahrenes Mitglied
Hi,
ich lese gerade über Vectoren Einträge aus der Datenbank aus und befülle damit meine Combo-Box:
Dazu habe ich ein paar Fragen:
Hier der Code:
1. Mein Tabelle liefert mir beim Auslesen immer mind. 1x " " mit. Ich möchte aber
verhindern, das meine Combobox den Eintrag " " anzeigt.
Deswegen der rote Code:
Weiß jemand vielleicht eine schönere Lösung damit ich das leere if umgehen kann?
Ein notequals gibt es ja glaub ich nicht!
2. Meine ComboBox wird z. B. mit folgenden Werten gefüllt:
A
B
C
D
Da ich nicht weiß ob sich die Reihenfolge der Werte in der Datenbank ändert, habe ich
auch keine feste Reihenfolge in der ComboBox.
Wenn ich nun das Programmstarte soll es aber immer mit dem Wert C initialisiert sein.
Sprich in der ComboBox soll gleich der Wert C angezeigt werden, aber auch für das
spätere Auswählen erhalten bleiben.
ich lese gerade über Vectoren Einträge aus der Datenbank aus und befülle damit meine Combo-Box:
Dazu habe ich ein paar Fragen:
Hier der Code:
Code:
Vector gruppen = groupIdAuslesen();
jComboBox = new JComboBox(gruppen);
Code:
protected Vector groupIdAuslesen()
{
Vector gruppen = new Vector();
if( null != sDbDrv && 0 < sDbDrv.length() &&
null != sDbUrl && 0 < sDbUrl.length() &&
null != sTable && 0 < sTable.length() )
{
try
{
// Select fitting database driver and connect:
Class.forName( sDbDrv );
cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
}
catch( Exception ex )
{
System.out.println( ex );
}
}
try
{
st = cn.createStatement();
rs = st.executeQuery("SELECT DISTINCT group_id " +
"from " + sTable
);
while (rs.next())
{
String gruppenid = null;
gruppenid = rs.getString("group_id");
if (gruppenid != null)
{
if (gruppenid.equals(""))
{
}
else
{
if (gruppenid.equals("C"))
{
}
else
{
gruppen.add(gruppenid);
}
}
}
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try { if( null != rs ) rs.close(); } catch( Exception ex ) {}
try { if( null != st ) st.close(); } catch( Exception ex ) {}
try { if( null != cn ) cn.close(); } catch( Exception ex ) {}
}
return gruppen;
}
1. Mein Tabelle liefert mir beim Auslesen immer mind. 1x " " mit. Ich möchte aber
verhindern, das meine Combobox den Eintrag " " anzeigt.
Deswegen der rote Code:
Code:
if (gruppenid.equals(""))
{
}
else
Ein notequals gibt es ja glaub ich nicht!
2. Meine ComboBox wird z. B. mit folgenden Werten gefüllt:
A
B
C
D
Da ich nicht weiß ob sich die Reihenfolge der Werte in der Datenbank ändert, habe ich
auch keine feste Reihenfolge in der ComboBox.
Wenn ich nun das Programmstarte soll es aber immer mit dem Wert C initialisiert sein.
Sprich in der ComboBox soll gleich der Wert C angezeigt werden, aber auch für das
spätere Auswählen erhalten bleiben.