Hi ich bin eigentlich sehr froh, mein erstes Java Progrämmchen, das mit DB2 arbeitet, läuft ganz nett… bis auf eine Unwesentlichkeit.
Ganz am Ende des Quelltextes stöhrt sich der Compiler daran,
dass connection_1.close();
geschlossen werden soll, was ich aber gar nicht einsehen kann.
Kommentiere ich die Zeile aus läuft alles prima.
Es meldet:
Exception in thread „main“ java.lang.Error: Unaufgelöstes Kompilierungsproblem:
Die lokale Variable connection_1 ist möglicherweise nicht initialisiert.
Ich kopier hier mal den kompletten Code rein,
ihr seht sicher gleich wo der Hacken ist. Danke 
Übrigens, als nächsten Schritt muss ich diese Applikaton in ein Applet umwandeln… ist das einfach?
import java.sql.\* ;
public class HelloWorld {
// public - Nur Klassen, die als public deklariert wurden, sind außerhalb des Pakets sichtbar, in dem sie definiert wurden.
public static void main(String[] args) {
/\*
public
Membervariablen und Methoden vom Typ public sind im Rahmen ihrer Lebensdauer überall sichtbar.
Sie können daher in der eigenen Klasse und von beliebigen Methoden anderer Klassen verwendet werden.
static
Variablen und Methoden mit dem Attribut static sind nicht an die Existenz
eines konkreten Objekts gebunden,
sondern existieren vom Laden der Klasse bis zum Beenden des Programms.
\*/
System.out.println("Hello world 1 !");
/\* #$hDB = odbc\_connect('datenquelle','sasaus42','milchshake');
if( !$hDB = odbc\_connect('datenquelle','','') ){ \*/
//final String url = "datenquelle";
final String url = "jdbc:db2:test" , user = "" , pass = "" ;
final String ausgabe\_anfang = "\n\_\_\_\_\_\_\_\_\_\_\_\_\_\n";
/\* final
Membervariablen mit dem Attribut final dürfen nicht verändert werden, sind also als Konstanten anzusehen. \*/
Connection connection\_1; String ausgabe; ResultSet resultSet\_1;
try {
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
connection\_1 = DriverManager.getConnection(url, user, pass);
ausgabe = "\n getConnection() ist zustaendig fuer den Aufbau einer Verbindung zu einer Datenbank"
+ "\n und existiert in zwei Varianten: mit Angabe von Benutzername und Passwort und"
+ "\n ohne diese Angabe.";
System.out.println( ausgabe\_anfang + "connected to database" + ausgabe);
/\* createStatement erzeugt Statement- Object.
Statement- Object kann dazu verwendet werden unparametrisierte Abfragen und
Änderungen zu erzeugen. \*/
Statement statement\_1 = connection\_1.createStatement();
//System.out.println( ausgabe\_anfang + "statement\_1=" + statement\_1 );
resultSet\_1 = statement\_1.executeQuery("SELECT \* FROM BERG");
ResultSetMetaData resultSetMetaData\_1 = resultSet\_1.getMetaData();
/\* getMetaData
Nachdem die Verbindung hergestellt wurde,
liefert der Aufruf von getMetaData ein Objekt des Typs DatabaseMetaData.
Es kann dazu verwendet werden, weitere Informationen über die
Datenbank abzufragen. \*/
int numCols = resultSetMetaData\_1.getColumnCount();
/\* statement\_1.getResultSet()
gibt eine risiege Menge informativem Text aus.
Das Objekt ResultSet repräsentiert die Ergebnismenge. \*/
while( resultSet\_1.next() ){
System.out.println( ausgabe\_anfang ) ;
for(int i = 1; i