# Problem mit:  SQL Exception Before start of result set



## megachucky (8. Sep 2006)

Hallo.

Die DB Connection klappt, die Query klappt mit dem MySQL Query Browser auch.
Der Fehler liegt denke ich irgendwo bei Statement oder Resultset ?!? Finde ihn aber nicht.


Hab mit JDBC noch nie was gemacht, und finde den Fehler leider nicht.

Die Ausgabe auf der Console:

Connected successfully
Error while executing the query java.sql.SQLException: Before start of result set


Und hier der Code:


```
package server;

import java.sql.*;

public class Server implements LoginInterface
{
	private Connection connection;
	
	private String user;
	private String password;
	private Statement stmt1, stmt2;
	private ResultSet rs1_user, rs2_password;
	
	private boolean isLoggedIn = false;
	private boolean isUserOK = false;
	private boolean isPasswordOK = false;
	
	public void login(String user, String password)
	{
		connection = new DatabaseConnection().connectToDatabase();
		this.user = user;
		this.password = password;
		
		try
		{
			stmt1 = connection.createStatement();
			String query = "SELECT username FROM user WHERE username = 'kai'";
			rs1_user = stmt1.executeQuery(query);

                        // nur zum testen, ob "kai" gefunden wird. ist leider nicht der fall.
                        System.out.println( rs1_user.getString(1) );
		}
		
		catch (SQLException e)
		{
			System.err.println("Error while executing the query " + e);
		}
		catch (Exception e)
		{
			System.err.println("Username and / or password wrong");
		}
		
		if (rs1_user.toString() == user)
		{
			isLoggedIn = true;
			System.out.println("Logged in.");
		}
	}
	
	public void logout()
	{
		isLoggedIn = false;
		System.out.println("Logged out.");
	}
	
	public boolean isLoggedIn()
	{
		return isLoggedIn;
	}
	
	public void setLoggedIn(boolean loggedIn)
	{
		this.isLoggedIn = loggedIn;
	}
	
	
	
	
	
	
	
}
```


Und hier noch die Klasse zum connecten, aber hier passt denke ich alles, die Verbindung klappt ja auch.


```
package server;

import java.sql.*;

public class DatabaseConnection 
{
	private Connection connection =  null;
	
	public Connection connectToDatabase()
	{
		try 
		{
			String driver="com.mysql.jdbc.Driver";
			Class.forName(driver).newInstance();
		}
		
		catch (Exception e)
		{
			System.err.println("Error while loading JDBC Driver " + e);
			System.exit(1);
		}
		
		String user = "root";
		String password = "";
		String url = "jdbc:mysql://localhost:3306/videothek";
		
		try 
		{
			connection = DriverManager.getConnection(url, user, password);
		}
		
		catch (SQLException e)
		{
			System.err.println("Error while connecting to the Database" + e);
			System.err.println("errorCode:" + e.getErrorCode());
			System.err.println("message:" + e.getMessage());
		}
		
		if (connection != null)
		{
			System.out.println("Connected successfully");
		}
		return connection;
	}
}


Ich hoffe, jemand kann mir helfen. Danke.
```


----------



## Caffè Latte (8. Sep 2006)

Hi,

füg mal die Zeile ein:



```
try
      {
         stmt1 = connection.createStatement();
         String query = "SELECT username FROM user WHERE username = 'kai'";
         rs1_user = stmt1.executeQuery(query);
         
         rs1_user.next();      // <------ DIESE ZEILE MAL EINFÜGEN

                        // nur zum testen, ob "kai" gefunden wird. ist leider nicht der fall.
                        System.out.println( rs1_user.getString(1) );
      }
```

Hoffe es hilft,


----------



## megachucky (9. Sep 2006)

Danke, klappt nun.


----------

