Hallo,
Das herstellen mit der Datenbank funktioniert problemlos.
Solange ich keine Ausgabe tätige, funktioniert das auch alles ohne Exceptions.
Ich poste hier einfach mal den Sourcecode:
Wenn ich dann vom Query (slc_filme) den String haben möchte, wird die Exception ausgelöst.
Doch, ich versteh einfach nicht warum?Was ist falsch?
Das herstellen mit der Datenbank funktioniert problemlos.
Solange ich keine Ausgabe tätige, funktioniert das auch alles ohne Exceptions.
Ich poste hier einfach mal den Sourcecode:
Code:
package connect;
import java.sql.*;
public class Connect {
public static void main(String[] args)throws Exception{
//Treiber laden
load_driver();
//Connection herstellen und in con refenzieren
Connection local = connect();
Statement stmt = local.createStatement();
ResultSet slc_filme = stmt.executeQuery("select * from filme");
try {
System.out.print("Select (filme) " + slc_filme.getString(0));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
echo("ausnahme");
}
slc_filme.close();
stmt.close();
local.close();
}
public static void echo(String ausgabe)
{
System.out.println(ausgabe);
}
public static void load_driver()
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
echo("Treiber Laden erfolgreich");
}
catch (Exception e)
{
echo("Ausnahme ausgelöst " +e.getMessage());
}
}
public static Connection connect()
{
try
{
String user = "root";
String pass = "159874";
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/filmdatenbank", user, pass);
con.setReadOnly(true);
echo("Verbindung herstellen erfolgreich!");
return con;
}
catch (Exception e)
{
echo("Verbindung konnte nicht hergestellt werden! " +e.getMessage());
return null;
}
}
}
Wenn ich dann vom Query (slc_filme) den String haben möchte, wird die Exception ausgelöst.
java.sql.SQLException
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:817)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5514)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5434)
at connect.Connect.main(Connect.java:22)
Doch, ich versteh einfach nicht warum?Was ist falsch?