[Java/MySQL] - At returnere et ResultSet...
Hep, Jeg har følgende i en DB klasse, som jeg så kalder andre steder, men jeg kan ikke få den til at returnere andet en null. Det vil sige, at hvis jeg skriver ud direkte i DB klassen, er der et resultat, men så snart jeg kalder den et andet sted, returnere den null??Her er koden:
[Fra DB klasse]
public ResultSet execSQL(){
try {
Class.forName(this.driver).newInstance();
}
catch (Exception E) {
System.err.println("Unable to load driver.");
E.printStackTrace();
}
try {
Connection C = DriverManager.getConnection(
"jdbc:mysql://"+this.host+":"+this.port+"/"+this.database+"?user="+this.user+"&password="+this.password+""
);
try {
Statement S = C.createStatement();
ResultSet R = S.executeQuery(this.query);
System.out.println(R.getString(2));
R.close();
S.close();
C.close();
}
catch (SQLException E) {
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
}
catch (SQLException E) {
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
return R;
}
[Kald fra andet sted]
MySQL DB = new MySQL();
DB.setQuery("SELECT id, description FROM plejeproblem");
res = DB.execSQL();
try {
if (res != null) {
while (res.next()) {
System.out.println(res.getString(1));
}
}
else {
System.out.println("Dataseek returned no result");
}
}
catch (SQLException E) {
System.out.println("SQLException: " + E.getMessage());
}
Nogen der kan lure den??
