Hallo Leute.
Hab eine Access DB und will diese Abfragen, die Ergebnisse in ein Vector einlesen und dann in einer ComboBox ausgeben. Scheint einfach - ist es aber nicht. Wenn ich mit System.out.Println(vector). Mache dann gibt er mir das Ergebnis aus. Hier die Klasse mit dem DB Aufbau und dem Vector:
Und das ist der JComboBox Konstruktor
Das eigentliche Problem: Er übernimmt nicht die Daten aus dem Vector in die ComboBox. Jetzt meine Frage. Wiso nicht?? Ich vermute mal das es ein Anfänger Fehler ist. (Bin auch einer). Ich hoffe das ihr mir antwortet.
Bis dann Waldi
Hab eine Access DB und will diese Abfragen, die Ergebnisse in ein Vector einlesen und dann in einer ComboBox ausgeben. Scheint einfach - ist es aber nicht. Wenn ich mit System.out.Println(vector). Mache dann gibt er mir das Ergebnis aus. Hier die Klasse mit dem DB Aufbau und dem Vector:
Code:
// Notwendige Klassen importieren
import java.sql.*;
import java.util.*;
// Klassendefinition
class Accjdbc5 extends AuftragÖffnen
{
private static final long serialVersionUID = 1L;
static Vector myData;
static String query_str; // String fuer den Abfrageterm
static ResultSet my_result; // Ergebnissatz
static Integer kd_nummer; // Variable fuer die Kundennummer
static String kd_vorname; // Variable fuer den Kundenvornamen
static String kd_name; // Variable fuer den Kundennachnamen
static java.sql.Date kd_auf_dat; // Variable fuer das Auftragsdatum
static Integer kd_auf_preis; // Variable fuer den Auftragspreis
static void SqlAbfrage()
{
try {
// 1. JDBC-Treiber laden
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
// 2. Datenbank-URL spezifizieren
String db_url = "jdbc:odbc:jdbc_test1";
// 3. Connect zur Datenbank ausführen (Kennwort muss beim Programmaufruf uebergeben werden)
Connection my_con = DriverManager.getConnection(db_url, "java", "master");
System.out.println("INFO: Verbindung zur Datenbank erfolgreich durchgefuehrt.");
// 4. Statement erzeugen
Statement my_stmt = my_con.createStatement();
// 5. Abfrageterm als String festlegen
String query_str = "SELECT * FROM T_Kunden";
// 6. Abfrage ausfuehren
ResultSet my_result = my_stmt.executeQuery(query_str);
Vector myData = new Vector();
// 7. Abfrageergebnis bearbeiten und ausgeben
while(my_result.next()) {
//kd_nummer = new Integer(my_result.getInt("kdnr"));
kd_name = my_result.getString("name");
myData.add(new String(kd_name));
//kd_vorname = my_result.getString("vorname");
//kd_auf_dat = my_result.getDate("datum");
//kd_auf_preis = new Integer(my_result.getInt("preis"));
//System.out.print(kd_nummer);
//System.out.print(kd_vorname);
//System.out.print(kd_auf_dat);
//System.out.print(ExpandString(SQLDateToString(kd_auf_dat),15));
//System.out.println(kd_auf_preis.toString());
}
//System.out.println(myData);
//System.out.println(myData.size());
//8. Connect zur Datenbank beenden
/*my_con.close();
System.out.println("INFO: Verbindung zur Datenbank geschlossen.");
System.out.println("=========================================================");
System.out.println();*/
}
// Ggf. aufgetretene Exceptions abfangen
catch(SQLException my_sqlex) {
System.out.println("**************************************************************************");
System.out.println("ERROR: Datenbankfehler: " + my_sqlex.getMessage());
System.out.println("--------------------------------------------------------------------------");
my_sqlex.printStackTrace();
System.out.println("**************************************************************************");
}
catch(Exception my_ex) {
System.out.println("**************************************************************************");
System.out.println("ERROR: Sonstiger Fehler: " + my_ex.getMessage());
System.out.println("--------------------------------------------------------------------------");
my_ex.printStackTrace();
System.out.println("**************************************************************************");
}
}
public static void main(String[] args)
{
SqlAbfrage();
}
}
Und das ist der JComboBox Konstruktor
Code:
private JComboBox getJComboBoxAuftrWhln()
{
if (jComboBoxAuftrWhln == null)
{
jComboBoxAuftrWhln = new JComboBox(Accjdbc5.myData);
jComboBoxAuftrWhln.setBounds(new java.awt.Rectangle(40,20,221,21));
};
return jComboBoxAuftrWhln;
}
Das eigentliche Problem: Er übernimmt nicht die Daten aus dem Vector in die ComboBox. Jetzt meine Frage. Wiso nicht?? Ich vermute mal das es ein Anfänger Fehler ist. (Bin auch einer). Ich hoffe das ihr mir antwortet.
Bis dann Waldi