# db abfrage fehlerhaft



## mariusbopp (27. Okt 2010)

hey 
hab heute damit begonnen mich mit java und db's zu beschäftigen:rtfm: hab auch einiges gelesen dazu bis jetzt
ABER mein code geht nicht....ich muss dazu sagen das ich erst seit 2 wochen java mache und ich weiß nicht was ich falsch gemacht habe!?:bahnhof:
kamm mal jemand drüber gucken bitte :reflect:

hier mein code:
	
	
	
	





```
package datenbank;
import java.sql.*;

public class Main {
    
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
    
    public static void main(String args[]) {
    try{
    Class.forName("com.mysql.jdbc.Driver").getInstance();    
    }
   catch (ClassNotFoundException e){
    e.printStackTrace();
    System.exit(1);
    }
    try{
    con = DriverManager.getConnection
            ("jdbc:mysql://localhost/test","root","");
    stmt=con.createStatement();
    rs=stmt.executeQuery
            ("SELECT nr,name FROM test_tabelle");
    While(rs.next()){
        System.out.println("nr: "+rs.getString(1));
        System.out.println("name: "+rs.getString(2));
    }
    stmt.close();
    con.close();
    }
    catch(SQLException e){
    e.printStackTrace();
    return;
    }
   }

}
```

zeile12 und 19-29 werden angemeckert


----------



## ARadauer (27. Okt 2010)

> zeile12 und 19-29 werden angemeckert


gute fehlerbeschreibung...


----------



## ARadauer (27. Okt 2010)

na... müssen wir jetzt schon compiler spielen...


```
package datenbank;

import java.sql.*;
 
public class Main {
    
static Connection con = null;
static Statement stmt = null;
static ResultSet rs = null;
    
    public static void main(String args[]) throws InstantiationException, IllegalAccessException {
    try{
    Class.forName("com.mysql.jdbc.Driver").newInstance();    
    }
   catch (ClassNotFoundException e){
    e.printStackTrace();
    System.exit(1);
    }
    try{
    con = DriverManager.getConnection
            ("jdbc:mysql://localhost/test","root","");
    stmt=con.createStatement();
    rs=stmt.executeQuery
            ("SELECT nr,name FROM test_tabelle");
    while(rs.next()){
        System.out.println("nr: "+rs.getString(1));
        System.out.println("name: "+rs.getString(2));
    }
    stmt.close();
    con.close();
    }
    catch(SQLException e){
    e.printStackTrace();
    return;
    }
   }
 
}
```

Ich würde eine Ide wie eclipse verwenden, das hilft bei solchen Fehlern ungemein. Die Grundlagen würde ich mir auch nochmal ansehen. Warum man aus der main Methode nicht auf eine Klassenvariable zugreifen kann, sollte man schon verstehen, bevor man sich mit solchen Thmenen wie Datenbanken beschäftigt..


----------



## mariusbopp (27. Okt 2010)

sorry ja er meckert das non static variables nicht refeneziert werden können :autsch:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code
        at datenbank.MeineErsteAbfrage.main(MeineErsteAbfrage.java:12)
Java Result: 1


----------



## L-ectron-X (27. Okt 2010)

FAQ: http://www.java-forum.org/stichwort...ic-method-cant-referenced-static-context.html


----------



## mariusbopp (27. Okt 2010)

ja funktioniert jetzt dank der verbesserung von ARadauer:toll:


----------

