Probleme mit "nur vorwärts gerichtete ResultSet"

Status
Nicht offen für weitere Antworten.
N

Njoerd

Gast
Rufe so Stored Procedure auf
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;
     }
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
Code:
rs.first()
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
Code:
com.microsoft.sqlserver.jdbc.SQLServerException: Der angeforderte Vorgang wird für nur vorwärts gerichtete ResultSets nicht unterstützt.
Wie bekomme ich ein nicht nur vorwärtsgerichtetes ResultSet?

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
 

thE_29

Top Contributor
Das wird meistens von der Datenbank gar nicht unterstützt!

Dh, entweder machst du nochmals den gleichen select oder du speicherst alles in eine ArrayList und wandelst das in ein Object Array um!

In Java gibts dynamische Arrays und vorgefertigte ArrayListen also nehmt die auch..

Das was du da machst ist ja schon fast C Like...
 

Leroy42

Top Contributor
Ich verstehe jetzt nicht was das mit C zu tun haben soll,
aber diese Art Problem gibt es immer und in jeder Sprache, wenn man eine vorher
unbekannte Anzahl von WasAuchImmer in einem Array speichern
will, dessen Länge bei Definition angegeben werden muß.

- Einlesen der Zeilen einer Textdatei
- Eingabe von Zahlen, Strings, ... von der Konsole bis Endekennung
- ...

Darum the_29's Lösungsansatz verwenden

Code:
class MeinArray extends ArrayList<MeinTyp> {}
...
MeinTyp[] holeDaten() {
    MeinArray list = new MeinArray();
    while (nochDatumDa())
        list.add(nextDatum());

    MeinTyp[] array = new MeinTyp[list.size()];
    int i = 0;
    for (MeinTyp elem : list)
        array[i++] = elem;
    return array;
}

Das Kopieren in den Array kannst du mit Sicherheit vermeiden,
ich habe allerdings die Arraygenerierung bei Verwendung generischer
Typen nicht im Kopf. :oops:
 
G

Guest

Gast
Danke mal fürs erste, bin kurz nach dem psot draufgekommen das ich die Stored PRocedure noch mal aufrufen kaönnte und so nochmal ein frisches Resultset bekomme.
Was mich allerdings jetz verwirrt ist wie ihr auf ein array kommt, ich verwende ja gar keines in meinem Java code, sicher könnte ich mein resultset in eine arraylist eintragen aber bei 2 kurzen zeilen zahlt sich das gar nicht aus.

Was daran auserdem C Like? also der Java source nicht ev. der source von der Stored Procedure oder reden wir da jetzt aneinander vorbei?
 
N

NJoerd

Gast
Danke mal fürs erste, bin kurz nach dem psot draufgekommen das ich die Stored PRocedure noch mal aufrufen kaönnte und so nochmal ein frisches Resultset bekomme.
Was mich allerdings jetz verwirrt ist wie ihr auf ein array kommt, ich verwende ja gar keines in meinem Java code, sicher könnte ich mein resultset in eine arraylist eintragen aber bei 2 kurzen zeilen zahlt sich das gar nicht aus.

Was daran auserdem C Like? also der Java source nicht ev. der source von der Stored Procedure oder reden wir da jetzt aneinander vorbei?
 
S

SlaterB

Gast
Frage:
> bis daher geht ja noch alles gut, dann möchte ich aber die zeilen auch an in ein Array schreiben

Antworten:
Array

> Was mich allerdings jetz verwirrt ist wie ihr auf ein array kommt, ich verwende ja gar keines in meinem Java code

?? ;)
 
N

njoerd

Gast
achja hab ich wirklich geschrieben bin schon verwirrt, werd halt auch immer älter ???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Probleme bei der Definition von LC_COLLATE Datenbankprogrammierung 2
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
Kirby.exe Probleme mit docker-compose.yml Datenbankprogrammierung 4
B Probleme mit Datenbankverbindung Datenbankprogrammierung 2
N java SQL JAR - Probleme Datenbankprogrammierung 18
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
T Oracle Probleme bei getTableName Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
D Probleme bei Einsteiger Aufgabe SQL Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
H Probleme mit Unicodedarstellung in Derby DB Datenbankprogrammierung 1
M MySQL probleme beim "Generate Tables from Entities" Datenbankprogrammierung 9
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
S Derby/JavaDB Probleme beim anlegen einer embedded DB Datenbankprogrammierung 13
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
W Probleme mit AND und OR Datenbankprogrammierung 5
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Gossi CallableStatement Probleme Datenbankprogrammierung 8
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
L Derby/JavaDB Derby macht Probleme Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
M Probleme mit Triggering Datenbankprogrammierung 2
F DB2 Probleme mit dem DriverManager Datenbankprogrammierung 4
S Derby/JavaDB OpenJPA, @oneToMany und Probleme Datenbankprogrammierung 2
I MySQL Probleme mit kyrillischen Zeichen Datenbankprogrammierung 2
A Derby/JavaDB Probleme beim Einbinden Datenbankprogrammierung 2
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
R isLast() Probleme bei Pervasive Datenbankprogrammierung 5
S Probleme mit localhost Datenbankprogrammierung 14
M Oracle Probleme mit dem anbinden einer Oracle 10g Datenbank Datenbankprogrammierung 27
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
P Hibernate -> Probleme bei n:m-Relation und JUnit Datenbankprogrammierung 10
J Probleme mit Datenbankzeiger Datenbankprogrammierung 19
A Probleme mit auf DB2 Express zugreiffen Datenbankprogrammierung 6
N Probleme beim Aufruf aus der DB Datenbankprogrammierung 7
M Probleme bei Select in Schleife Datenbankprogrammierung 7
G Probleme mit Datenbankanbindung Datenbankprogrammierung 3
R Probleme mit Insert Datenbankprogrammierung 2
P Probleme mit Oracle Timestamp Datenbankprogrammierung 3
klattiator Hibernate - Probleme bei Konfiguration Datenbankprogrammierung 3
F Probleme mit entfernter DB und Hibernate Zeichensatz Datenbankprogrammierung 3
G Probleme mit der Schnittstelle H1bernate/Eclipse Datenbankprogrammierung 6
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
O Derby Performance Probleme? Datenbankprogrammierung 4
V Probleme beim Öffnen "einiger" SuperbaseTabellen p Datenbankprogrammierung 8
G Probleme beim Methodenaufruf einer EJB Datenbankprogrammierung 10
ARadauer hibernate probleme Datenbankprogrammierung 13
Y Probleme mit H2 und Primary Key Datenbankprogrammierung 4
D Probleme mit mysql-Connection Datenbankprogrammierung 10
G INNODB backup probleme Datenbankprogrammierung 2
S Probleme mit statement.close() Datenbankprogrammierung 10
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Probleme mit Laden des JDBC-Treiber in HSQLDB Datenbankprogrammierung 2
T Probleme mit Date in H2 Datenbank Datenbankprogrammierung 2
4 Probleme mit Select abfrage Datenbankprogrammierung 4
N Probleme mit Access-DB bei einem Webserver Datenbankprogrammierung 5
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
R Probleme mit Datensätzen in MySql DB Datenbankprogrammierung 3
B Oracle Driver Probleme Datenbankprogrammierung 2
I Probleme bei MySQL - Replikation Datenbankprogrammierung 2
R Probleme mit ausführbarem Jar Archiv Datenbankprogrammierung 9
F Probleme mit Jar Datei Datenbankprogrammierung 3
S String probleme Datenbankprogrammierung 3
R Probleme mit der Verbindung zum localhost Datenbankprogrammierung 12
S Probleme bei der Installation von MySQL 5.0 Datenbankprogrammierung 4
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13
G Probleme mit Access und Join Datenbankprogrammierung 3
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
T Probleme beim Verbindungsaufbau zum SQL 2000 Datenbankprogrammierung 2
G Probleme mit Datenbankeinträge Datenbankprogrammierung 4
G Probleme mit Treiber (connector) Datenbankprogrammierung 20
thE_29 getBytes() - russland/bulgarien -- andere Codecs Probleme Datenbankprogrammierung 8
E Probleme mit JDBC und Executable-Jar Datenbankprogrammierung 2
G Probleme mit MySQL - Anmeldung Datenbankprogrammierung 2
P Probleme mit NullPointerException Datenbankprogrammierung 5
K MySQL: Probleme mit dem Verbinden per IP-Adresse Datenbankprogrammierung 6
T Probleme mit Datenbank Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben