ResultSet-Problem

Status
Nicht offen für weitere Antworten.
F

Flyer

Gast
hab folgende Code:
Code:
OracleCallableStatement cstmt =	(OracleCallableStatement)conn.prepareCall
("begin ds_sloft.ds_sloft_display.retrieve_existing_dataset(pi_name=>?, pi_t_offerid=>?, pi_t_contractid=>?); end;");
cstmt.registerOutParameter(2, OracleTypes.ARRAY, "DS_SLOFT_NUM_TAB");
cstmt.registerOutParameter(3, OracleTypes.ARRAY, "DS_SLOFT_NUM_TAB");
cstmt.setString(1, name);

cstmt.execute(); 
conn.commit();

Wie bringe ich nun diese beiden Arrays in einen ResultSet? es sind int Array und wenn ich es wie bei objekten versuche:
Code:
ResultSet rset = (ResultSet)cstmt.getObject(2);
gibt es eine classcastexception!

Gruss Flyer2004
[/code]
 

nollario

Bekanntes Mitglied
du erwartest einen array? machst aber einen cast in ein resultset....

das passt nicht. musst also auch in ein array casten!
 
F

Flyer

Gast
hmm...wie meinst du das? kannst du es kurz in Code fassen!
wäre sehr nett!
sorry...verstehe ich nicht ganz sonst!

Gruss Flyer
 
G

Guest

Gast
Gib' einfach mal den Typen vom Ergebnis aus, dann weißt Du mehr.
Code:
Object o = cstmt.getObject(2);
if(o != null)
  System.out.println(o.getClass().getName());
 
F

Flyer

Gast
wenn ich das so eingebe motzt er ständig wegen ungültigem spaltenindex

java.sql.SQLException: Ungültiger Spaltenindex
 

nollario

Bekanntes Mitglied
das passt jetzt irgendwie nicht....

in dem letzten post heisst es dass der index nicht gefüllt ist, im ersten post gibt es eine classcasrexception.
versteh ich nicht ganz. entweder auf dem index gibt es einen rückgabeparameter oder nicht...
 
F

Flyer

Gast
habs jetzt mal so gemacht:
Code:
OracleCallableStatement cstmt =	(OracleCallableStatement)conn.prepareCall
("begin ds_sloft.ds_sloft_display.retrieve_existing_dataset(pi_name=>?, pi_t_offerid=>?, pi_t_contractid=>?); end;");
cstmt.setString(1, name);
cstmt.registerOutParameter(2, OracleTypes.ARRAY, "DS_SLOFT_NUM_TAB");
cstmt.registerOutParameter(3, OracleTypes.ARRAY, "DS_SLOFT_NUM_TAB");

cstmt.execute(); 
conn.commit();
			
ARRAY offers = cstmt.getARRAY(2);
ARRAY contracs = cstmt.getARRAY(3);

dies läuft ohne fehle...
wie schaffe ich es nun die Werte der ARRAY in je einen Vector zu speichern?

Gruss Flyer
 

nollario

Bekanntes Mitglied
geh ein einfach durch die werte des arrays per for schleife:

Code:
Vector v = new Vector();

for (int i = 0 ; i < ar.length ; i ++)
{
   v.add(ar[i]);
}
 
F

Flyer

Gast
das geht ja nicht weil es kein Array ist sondern ein ARRAY!
und das unterstütz ar nicht!
 

Bleiglanz

Gesperrter Benutzer
RTFM java.sql.ARRAY

entweder aus dem Array ein Resultset machen und dann normal durchlaufen
getResultSet

public ResultSet getResultSet()
throws SQLException

Retrieves a result set that contains the elements of the SQL ARRAY value designated by this Array object. If appropriate, the elements of the array are mapped using the connection's type map; otherwise, the standard mapping is used.

The result set contains one row for each array element, with two columns in each row. The second column stores the element value; the first column stores the index into the array for that element (with the first array element being at index 1). The rows are in ascending order corresponding to the order of the indices.

oder gleich in ein "normales" Array

getArray

public Object getArray()
throws SQLException

Retrieves the contents of the SQL ARRAY value designated by this Array object in the form of an array in the Java programming language. This version of the method getArray uses the type map associated with the connection for customizations of the type mappings.

Returns:
an array in the Java programming language that contains the ordered elements of the SQL ARRAY value designated by this Array object
 
F

Flyer

Gast
ich weiss nicht wieso...aber bei mir funzt es nicht...ich bekomme nie das was ich brauche!

@bleiglanz...könntest du das mal versuchen in code zu schreiben?
wäre sehr nett!

Danke Flyer
 

nollario

Bekanntes Mitglied
sorry... hab genau den gleichen code bei mir lokal auf sybase ausgeführt und es funzt... mit ARRAY (hatte ich zuerst übersehen, sorry) und den gleichen parameters... vielleicht solltest du die art und weise ändern, wie du die sp aufrufst:

http://java.sun.com/docs/books/tutorial/jdbc/basics/sql.html

Code:
CallableStatement cs = con.prepareCall("{call SHOW_SUPPLIERS}");

sollte es eigentlich nicht sein, aber möglich ist alles!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Resultset.last() Problem Datenbankprogrammierung 12
I Problem mit ResultSet Datenbankprogrammierung 2
M Oracle Problem mit Resultset Datenbankprogrammierung 11
M Problem mit ResultSet bei SQL Server 2005 Datenbankprogrammierung 6
K problem mit resultset->arraylist Datenbankprogrammierung 11
T Problem beim Update vom Resultset + Firebird Datenbankprogrammierung 2
R Resultset DELETEROW Problem Datenbankprogrammierung 7
K Mal wieder Problem mit resultSet , kennt nicht getString() Datenbankprogrammierung 2
R Select und Insert in Schleife - Problem mit ResultSet Datenbankprogrammierung 2
G resultset problem Datenbankprogrammierung 2
S ResultSet als Parameter an andere Klasse übergeben Datenbankprogrammierung 3
Z ResultSet ist null warum? Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
C PostgreSQL ResultSet.TYPE_SCROLL_SENSITIVE setzen Datenbankprogrammierung 2
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
L Zugriff auf ein Resultset Datenbankprogrammierung 7
L MySQL ResultSet vollständig auslesen Datenbankprogrammierung 20
D Resultset schließen ?? Datenbankprogrammierung 5
T Oracle Resultset to Array sehr langsam. Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
J SQLite ResultSet closed -- Wiederholende DB-Abfragen Datenbankprogrammierung 6
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
L ResultSet Datenbankprogrammierung 1
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
R MySQL Umgang mit ResultSet/Fremdschlüssel ausgeben Datenbankprogrammierung 2
D MySQL ResultSet als Stream weiter geben Datenbankprogrammierung 9
M ResultSet Cachen Datenbankprogrammierung 3
R ResultSet mit "Untertabellen" Datenbankprogrammierung 4
N SQL-Statement Auslesen des Resultset wird immer langsamer Datenbankprogrammierung 6
PaulG Leeres ResultSet initialisieren Datenbankprogrammierung 6
J Frage zu ResultSet Datenbankprogrammierung 3
J SQL ResultSet Previous Datenbankprogrammierung 10
S MySQL ResultSet in ein Array übertragen Datenbankprogrammierung 7
H PostgreSQL Objekte aus ResultSet Datenbankprogrammierung 5
H ResultSet is closed tritt bei JSF aber nicht bei einer Java-Applikation auf Datenbankprogrammierung 10
O Oracle Resultset greift auf Spaltenüberschriften zu Datenbankprogrammierung 2
Kenan89 Wieso klappt das ResultSet nicht? Datenbankprogrammierung 3
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
F Derby/JavaDB Resultset in JTablemodel Datenbankprogrammierung 2
F Oracle ResultSet zu einer HashMap<Integer, String[]> Datenbankprogrammierung 6
B SQLite ResultSet is TYPE_FORWARD_ONLY Datenbankprogrammierung 5
T Exception ResultSet Datenbankprogrammierung 7
0 ResultSet in JTable Datenbankprogrammierung 14
S [SQL] ResultSet Datenbankprogrammierung 4
R ResultSet Datenbankprogrammierung 4
I Sonderbehandlung wenn ResultSet leer ist Datenbankprogrammierung 9
I SQL_Abfrage-Ergebnis (ResultSet) in String[] speichern Datenbankprogrammierung 29
B ResultSet wirft komische NullPointerException. Datenbankprogrammierung 3
R Detached ResultSet Datenbankprogrammierung 3
F generelle Vorgehensweise ResultSet Datenbankprogrammierung 5
S ResultSet Datenbankprogrammierung 2
A MySQL ResultSet.updateBytes schlägt fehl Datenbankprogrammierung 2
F ResultSet kann Datenbank nicht update, warum? Datenbankprogrammierung 3
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
S ResultSet einer Datenbankabfrage - Nullpointer Exception Datenbankprogrammierung 13
A PostgreSQL anfängerfrage: resultset zeilenweise auslesen Datenbankprogrammierung 2
T MySQL ResultSet zurückgeben nachdem Connection geschlossen wurde? Datenbankprogrammierung 3
K Keine ResultSet bei if in StoredProcedure Datenbankprogrammierung 16
D ResultSet gibt nichts aus. Datenbankprogrammierung 3
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
ARadauer JDBC ResultSet schließen? Datenbankprogrammierung 4
J jdbc ResultSet types Datenbankprogrammierung 5
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
F ResultSet to String[] Datenbankprogrammierung 3
E ResultSet in HashMap Datenbankprogrammierung 8
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
S ResultSet in ArrayList ablegen Datenbankprogrammierung 17
G Daten aus ResultSet in String-Liste Datenbankprogrammierung 13
T ResultSet initialisieren Datenbankprogrammierung 2
C kein Resultset Datenbankprogrammierung 2
G ResultSet: String mit Anführungszeichen einlesen Datenbankprogrammierung 8
T ResultSet-Inhalt in Arrays schreiben Datenbankprogrammierung 3
S ResultSet variabel auslesen Datenbankprogrammierung 4
D Anzahl der Elemente im ResultSet ermitteln Datenbankprogrammierung 8
A Leeres ResultSet mit H2 unter Vista Datenbankprogrammierung 3
A Warum ist mein ResultSet leer? Datenbankprogrammierung 5
S ResultSet closed Datenbankprogrammierung 2
Z ResultSet mit einer anderen Datenquelle Datenbankprogrammierung 7
O Spaltenname aus Resultset Datenbankprogrammierung 2
thE_29 ResultSet und doppelte Spalten Datenbankprogrammierung 4
E Neues select auf ein vorhandenes Resultset Datenbankprogrammierung 11
E ResultSet vergisst Reihe? Datenbankprogrammierung 2
N resultset aus andere klasse übergeben Datenbankprogrammierung 3
F ResultSet refresh moeglich? Datenbankprogrammierung 3
S ResultSet enthält keine Daten Datenbankprogrammierung 2
B Geschlossenes ResultSet Datenbankprogrammierung 6
T ResultSet#next Ungültige Reihenfolge (DB2) Datenbankprogrammierung 5
T ResultSet schließen? Datenbankprogrammierung 6
S Tabelle updaten wenn ResultSet aus JDBC-Quelle Datenbankprogrammierung 2
S ResultSet Datenbankprogrammierung 6
F Filtern innerhalb eines Resultset Datenbankprogrammierung 12
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
@ Like-Klausel; NPE bzw. leeres ResultSet Datenbankprogrammierung 4
C Resultset nach connection close weiterreichen Datenbankprogrammierung 5
B No ResultSet was produced Datenbankprogrammierung 2
S ResultSet erweitern ? Datenbankprogrammierung 4
E JDBC, ForwardOnly bei ResultSet nach Uebergabe Datenbankprogrammierung 4
R ResultSet liefert oracle.sql.TIMESTAMP, aber unbrauchbar Datenbankprogrammierung 9
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13

Ähnliche Java Themen


Oben