Databases Reference
In-Depth Information
public void tiereEinerGattungAnzeigen(String gattung){
if (con==null){
System.out.println("keine Verbindung");
return;
}
try {
System.out.println("Tiere der Gattung "
+gattung+":");
CallableStatement cstmt=con.prepareCall(
"{CALL AlleTiereEinerGattung(?,?)}");
cstmt.setString(1,gattung);
cstmt.registerOutParameter(2,OracleTypes.CURSOR);
cstmt.execute();
ResultSet rset=(ResultSet) cstmt.getObject(2);
while(rset.next())
System.out.println(rset.getString(1)+" in Gehege "
+rset.getString(2));
} catch (SQLException e) {
ausnahmeAusgeben(e);
}
}
Werden folgende Zeilen im Hauptprogramm ausgeführt,
db.plSQLProzedurAnlegen();
db.tiereEinerGattungAnzeigen("Hase");
db.tiereEinerGattungAnzeigen("Elch");
db.tiereEinerGattungAnzeigen("Baer");
so werden folgende Ergebnisse ausgegeben.
Tiere der Gattung Hase:
Hunny in Gehege Feld
Runny in Gehege Feld
Klopfer in Gehege Feld
Bunny in Gehege Weide
Tiere der Gattung Elch:
Tiere der Gattung Baer:
Sabber in Gehege Wald
Laber in Gehege Wald
Huber in Gehege Heide
Sauber in Gehege Heide
Abschließend sei angemerkt, dass der resultierende Cursor von
Java aus nicht zur Veränderung der Datensätze genutzt werden
kann. Dies gilt auch, wenn die Verbindung beschreibbar ist und
sich der Cursor nur auf eine Tabelle bezieht. Dies ist allerdings
einer der Bereiche, der sich in nachfolgenden JDBC-Realisie-
rungen ändern kann.
302
Search WWH ::




Custom Search