L
Louis2
Gast
Ich habe 2 Frames, im ersten eine ComboBox die mit DB Tabellenamen gefüllt ist. Bei Auswahl eines ComboBox Elements öffnet sich das zweite Frame und führt eine SQL Query aus, die als Tabellennamen den Eintrag benutzt der ausgewählt wurde. Dabei ist mein Problem, es wird immer der erste Eintrag der selektiert wurde (also der Eintrag beim Start) genommen und nicht was wirklich zur Laufzeit ausgewählt wurde.
Das Problem könnte daran liegen, dass ich das Fenster (Frame2) nicht in der Methode itemStateChanged initialisiere... ich habe es probiert aber geht nicht, bzw. er meckert was in den ( ) drin steht.
[Edit by Beni: Sorg doch bitte dafür, dass deine Beiträge nicht 4000 Pixel breit sind.]
Das Problem könnte daran liegen, dass ich das Fenster (Frame2) nicht in der Methode itemStateChanged initialisiere... ich habe es probiert aber geht nicht, bzw. er meckert was in den ( ) drin steht.
Code:
for (l = 0; l < comboinhalt.length; l++)
combo.addItem(comboinhalt[l]); // ComboBox gefüllt
choice = (String) combo.getSelectedItem(); // choice wird auf das aktuelle
//selektierte Element (Start) gesetzt
getContentPane().add(combo, BorderLayout.WEST);
final FieldsSelection main2 = new FieldsSelection(this); // Frame Nr. 2 wird
//initialisiert
combo.addItemListener(new ItemListener()
{
//Action when combo value selected
public void itemStateChanged(ItemEvent e) // Auswahl der Elemente der
//CheckBox
{
choice = (String) combo.getSelectedItem(); // setze choice auf aktuelle
//Selektion
System.out.println(choice);
String resultauftrag=new String();
selectedChoice = (JComboBox)e.getSource();
main2.setVisible(true); // Frame 2 wird angezeigt
Code:
public FieldsSelection(EmailClient emailclient)
{
super("Java bulk-email (Fields Selection)");
this.main3 = emailclient;
try
{
String resultselectedtable=new String();
String resulttablefields=new String();
Statement selectedtable = main3.connection.createStatement();
resultselectedtable = "SELECT do.doctable FROM doctable do, description d
WHERE do.active='1' and do.doctable=d.code and d.language='de' and
d.description='" + main3.choice + "'";
// holt sich die Variable choice
//PROBLEM: Immer die alte (also was am Start in der ComboBox selektiert wurde)
ResultSet rs1 = selectedtable.executeQuery(resultselectedtable);
[Edit by Beni: Sorg doch bitte dafür, dass deine Beiträge nicht 4000 Pixel breit sind.]