N
Njoerd
Gast
Rufe so Stored Procedure auf
dan zähle ich die zeilen:
bis daher geht ja noch alles gut, dann möchte ich aber die zeilen auch an in ein Array schreiben
da muss ich doch mit
in die erste zeile springen und dann kann ich mit while(rs.next)) wieder das ResultSet abarbeiten, leider funktioniert das nicht das ich in die erste Zeile srpinge, bekomme immer
Wie bekomme ich ein nicht nur vorwärtsgerichtetes ResultSet?
achja der Coder der Stored Procedeure
kann mir da jemand helfen?
ich mein mir ist schon klar das ich das in der while schleife der countRow() funktion auch machen könnte aber es muss doch auch anders gehen
achja verwende den jdbc treiber von MS
Code:
cs=con.prepareCall("{call getmyeditableprojects(?)}");
cs.setString(1,user);
rs=cs.executeQuery();
dan zähle ich die zeilen:
Code:
private int countRows(){
try{
int ret=0;
while(rs.next())
ret++;
return ret;
}catch(Exception e){System.out.println(e.toString());}
return -1;
}
da muss ich doch mit
Code:
rs.first()
Code:
com.microsoft.sqlserver.jdbc.SQLServerException: Der angeforderte Vorgang wird für nur vorwärts gerichtete ResultSets nicht unterstützt.
achja der Coder der Stored Procedeure
Code:
Alter PROCEDURE getmyeditableprojects
@user nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
Declare @id_user bigint
set @id_user=(select id_benutzer from benutzer where benutzername=@user)
Declare @id_project bigint
Set @id_project =(SELECT fk_id_project from project_user_right Where (fk_id_user=@id_user and id_right='1'))
--rs für Java
Select [name] from projekt where id_projekt=@id_project
END
kann mir da jemand helfen?
ich mein mir ist schon klar das ich das in der while schleife der countRow() funktion auch machen könnte aber es muss doch auch anders gehen
achja verwende den jdbc treiber von MS