Objekt ' verbindung ' wird nicht erkannt!
Frank
- java
Hallo Leute,
ich hab den folgenden Code in Java:
try { Connection verbindung = DriverManager.getConnection("jdbc.odbc:db","",""); }
catch(Exception e)
{ System.out.println("Datebanktreiber konnte nich geladen werden!");
return;
}
Statement query = verbindung.createStatement(); //Hier
ResultSet ergebnisse = query.executeQuery("SELECT * FROM db ODRDER BY 'ID'");
System.out.println(ergebnisse);
Doch ich bekomm die Fehlermeldung, dass verbindung (in der Zeile //Hier) nicht erkannt wird, obwohl dieses Objekt weiter oben bei Connection schon deklariert worden ist!
Wißt Ihr warum?
Hier die vollständige Fehlermeldung des Compilers:
Datenbank.java:120: cant resolve symbol
symbol: variable verbindung
location: class Datenbank
Statement query = verbindung.createStatement();
1 error
Danke für eure Hilfe!
Gruß Frank
Hallo Frank
Lokale Variablen gelten in Java nur innerhalb des blocks, in dem sie definiert werden.
Volgender code ist besser:
Connection verbindung = null;
try { verbindung = DriverManager.getConnection("jdbc.odbc:db","",""); }
catch(Exception e)
{ System.out.println("Datebanktreiber konnte nich geladen werden!");
return;
}
Statement query = verbindung.createStatement(); //Hier
ResultSet ergebnisse = query.executeQuery("SELECT * FROM db ODRDER BY 'ID'");
System.out.println(ergebnisse);
Tschüs
Daniel
Hallo Daniel,
Connection verbindung = null;
try { verbindung = DriverManager.getConnection("jdbc.odbc:db","",""); }
»» catch(Exception e)
»» { System.out.println("Datebanktreiber konnte nich geladen werden!");
»» return;
»» }
»»
»» Statement query = verbindung.createStatement(); //Hier
»» ResultSet ergebnisse = query.executeQuery("SELECT * FROM db ODRDER BY 'ID'");
»» System.out.println(ergebnisse);
Diese Variante, bringt zwei Fehlermeldungen mit sich:
unreported Exceptions java.sql.SQLExceptions; must be caught or declared to be thrown
Statement query = verbindung.createStatement();
unreported Exceptions java.sql.SQLExceptions; must be caught or declared to be thrown
ResultSet ergebnisse = query.executeQuery("SELECT * FROM db ODRDER BY 'ID'");
2 errors
Gruß Frank
Hallo,
diese Fehlermeldungen bedeuten, daß die betroffenen Anweisungen ebenfalls Exceptions auslösen können (in dem Fall SQL-Exceptions) und die müssen natürlich mit try-catch abgefangen werden.
Gruß
Michael