Hallo,
ich habe neu mit H2 angefangen. Die ersten Tests funktionierten. Nun habe ich versucht, über mehrere Methoden mehr übersichtlichkeit in das ganze hereinzubringen. Leider habe ich nun einen Fehler. Bei der Ausgabe wird null ausgegeben. Mein Code:
Der Fehler scheint in der Methode dbRequest zu liegen, da diese nicht in die While Schleife geht:
Wisst ihr, woran das liegen könnte? Denn da wird der Fehler liegen.
Danke schonmal.
ich habe neu mit H2 angefangen. Die ersten Tests funktionierten. Nun habe ich versucht, über mehrere Methoden mehr übersichtlichkeit in das ganze hereinzubringen. Leider habe ich nun einen Fehler. Bei der Ausgabe wird null ausgegeben. Mein Code:
Java:
import java.sql.*;
public class DataBase {
private static Connection conn;
public static void createConnection(String database, String username,
String password) throws Exception {
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection("jdbc:h2:~/" + database, username,
password);
// add application code he
}
public static void closeConnection() throws SQLException {
conn.close();
}
public static ResultSet setStatement(String SQLCommand) throws SQLException {
ResultSet rs = conn.createStatement().executeQuery(SQLCommand);
return rs;
}
private static int getCountRows(ResultSet sqlStatement) throws SQLException {
ResultSet rs = sqlStatement;
int i = 0;
while (rs.next()) {
System.out.println("Drina");
i++;
}
return i;
}
public static String[] dbRequest(ResultSet sqlStatement, String field)
throws SQLException {
ResultSet rs = sqlStatement;
String[] dbresults = new String[getCountRows(rs)];
int pos = 0;
while (rs.next()) {
System.out.println("drin");
dbresults[pos] = rs.getString("LEHRER");
pos++;
}
for (int i = 0; i < dbresults.length; i++) {
System.out.println(dbresults[i]);
}
return dbresults;
}
public static void main(String[] args) throws Exception {
createConnection("test", "sa", "");
String[] dbresults = dbRequest(setStatement("SELECT * FROM TIMETABLE"),
"LEHRER");
for (int i = 0; i < dbresults.length; i++) {
System.out.println(dbresults[i]);
}
closeConnection();
}
}
Java:
while (rs.next()) {
System.out.println("drin");
dbresults[pos] = rs.getString("LEHRER");
pos++;
}
Wisst ihr, woran das liegen könnte? Denn da wird der Fehler liegen.
Danke schonmal.