# Ungültiger Cursurstatus



## Databasebeginner (18. Jan 2006)

Hallo ich habe mir eine kleine Klasse geschrieben mit der ich eine Sybase Datenbank Abfragen kann. Das Problem ist nun das ich immer folgende Fehlermeldung erhalte.

java.sql.SQLException: [Microsoft][ODBC 
Driver Manager] Ungültiger Cursorstatus 

Was läuft schief bzw. was bedeutet diese Fehlermeldung

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import test.util.Messages;
import test.database.ProjektStruct;

public class EtsDataBase { 

    private Connection con;
    private Statement stmt;
    private ResultSet rSet;


    public ProjektStruct[] Projekts = null;
    public ProjektStruct currentProjekt = new ProjektStruct();
    private Messages message = new Messages();

/*Öffnet die Verbindung zu einer Datenbank*/      
    public void open()
    {  	
        try 
        {
            Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
        }
        catch ( Exception e ) 
        {     
        	message.Message("Fehler bei ODBC-JDBC-Bridge",e,true,false);
            return;
        }

        try
        {
            String url = "jdbcdbc:test";
            this.con = DriverManager.getConnection( url, "test", "test" );
            this.stmt = con.createStatement();

        }
        catch (Exception e)
        {
        	message.Message("Fehler beim öffnen der Datenbank",e,true,false);
        }    
    }


/*Schließt die Verbindung zu einer Datenbank*/  
    public void close()
    {  	
    	try
    	{
    		stmt.close();
    		con.close();	
    	}
    	catch ( Exception e )
    	{
    		message.Message("Fehler beim schließen",e,true,false);
    	}	
    }


    public ProjektStruct[] getProjects()
    {  	
    	try
    	{
    		int count=1;
                                int test=1;
                                int test1=1;
                                int test2=1;

    		String sqlQuery = "SELECT A. B .C FROM PROJECT p;";
    		this.rSet = stmt.executeQuery(sqlQuery);

                                rSet.getInt(1);
                                rSet.getInt(2);
                                rSet.getInt(3);

    	    	}
    	catch (Exception e)
    	{
        	message.Message("Fehler beim lesen der Projekte",e,true,false); 	
    	} 	
	return Projekts;
    }


}


----------



## Bleiglanz (18. Jan 2006)

mach

```
if(this.rSet.next()){
    test1=  rSet.getInt(1);
    test2 = rSet.getInt(2);
    test3 = rSet.getInt(3); 
}
```

ohne next() keine Zeilen


----------



## Guest (18. Jan 2006)

Hi

Vielen Dank Deine Antworzten sind Gold wert. Werde es heute Abend glsich ausprobieren.

Schöne Grüße


----------



## semi (18. Jan 2006)

```
this.rSet = stmt.executeQuery(sqlQuery); 

if(this.rSet.next()) // <-- das hier fehlt
{ 
  rSet.getInt(1); 
  rSet.getInt(2); 
  rSet.getInt(3);
}
```
Schreib den Code um, so dass Du die ResultSets schliesst etc.


Ups! Zu spät.


----------

