Variablen Checkbox Änderung in 2. Klasse aktuallisieren

dior

Bekanntes Mitglied
Hi,

brauche bitte Hilfe bei einem grundsätzlichen Problem:

Ich möchte bei diesem Problem 2.java Dateien verwenden (in einer sollen einige sql befehle stehen für DB abfragen)

Im Moment habe ich mein Progrämmchen so geschrieben das alles in einer .java abgehandelt wird....

1. Datei:
Eine kleine Swing Anwendung mit 8 CheckBoxen.
Wenn ich das Programm starte werden 8 Variablen auf einen bestimmten Wert gesetzt z.B.:
Java:
if(chkHHS.isSelected() == true){vHHS = "= 2";}

Wenn ich den Hacken rausnehme wird der Wert auf <> 3 gesetzt

Ich habe weiters in der Klasse ein sql Select (z.B.:
"Select * from Tabelle1 where xy = 1 AND vHHS " + vHHS
) welches die Variablen z.B. vHHS beinhalten....

Wenn ich das Prog. starte und die SQL abfrage ausführe dann bekomme ich das gewünschte ergebnis je nachdem welche checkbox ich wähle oder abwähle.

-> funktioniert also einwandfrei...


Problem:
wie kann ich es anstellen das ich das Select in der 2. Klasse Pflege und die Änderungen in der Checkbox auch übernommen werden.
Ich hatte das probiert aber ich bekam bei mehreren durchläufen (also 1. Start chechbox 1 aktiv -> Ergebnis XY; dann checkbox 2 aktiv kam aber nicht das Ergebnis für Chkbox 2 aktiv sondern wieder ddas von vorher..(XY)...)
Es wurde also die Variable nicht aktualisiert.


Ich hoffe es ist so irgendwie verständlich was ich meine 🙂
(ich weiss, sourcecode wäre verständlicher, aber ich brauche nur mal eine Grundsätzliche Idee wie das gehen könnte)
 
Zuletzt bearbeitet:
Falls ich dich richtig verstanden habe:
Warum registrierst du keinen Listener der der SQL-Klasse mittteilt, dass eine Checkbox gewählt wurde, falls die Verarbeitung dort stattfindet?



"Select * from Tabelle1 where xy = 1 AND vHHS " + vHHS

Das ist sehr schlecht. Benutze lieber PreparedStatements, die schützen gegen die meisten SQL-Injections.
 
Hi,

danke... das mit dem Listener ist vermutlich genau das was mir gefehlt hat 🙂

Wäre es zuviel verlangt wenn du mir noch ein ganz kurzes Beispiel hier reinstelltst wie das in meinem Fall aussehen könnte? 😳
 
Java:
Connection dbCon = getDatabaseConnection();
int vHHS = getVHHS();

////
PreparedStatement statement = null;
ResultSet set = null;
try {
	statement = dbCon.prepareStatement("SELECT * FROM tabelle1 WHERE xy = ? AND vHHS = ?;");
	statement.setInt(1, 1); //Bei 1 beginnend
	statement.setInt(2, vHHS);
	
	set = statement.executeQuery();
	while(set.next()) {
		//Auslesen
	}
} catch (SQLException e) {
	e.printStackTrace();
} finally {
	try {
		if(set != null) {
			set.close();	
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
	try {
		if(statement != null) {
			statement.close();	
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
}

Bei der Groß/Kleinschreibung kommt es eventuell auf deine DB-Implementation an. Bei H2, das ich benutze spielt sie keine Rolle, deshalb habe ich mir angewöhnt alle Keywords groß und alle Werte (Tabellenname, Spaltennamen etc) klein zu schreiben.
 

Neue Themen


Zurück
Oben