Databases Reference
In-Depth Information
derungen können vor einem updateRow() mit dem Methoden-
aufruf rs.cancelRowUpdates() zurückgesetzt werden.
Damit man im ResultSet verschiedene Zeilen direkt ansteuern
kann, stehen die in Abb. 13-1 beschriebenen Methoden zur Ver-
fügung, dabei geben Boolesche Ergebniswerte immer an, ob die
angesprungene Zeile existiert.
In einem veränderbaren ResultSet kann mit
rs.deleteRow()
die aktuelle Zeile gelöscht werden. Weiterhin steht eine speziel-
le zusätzliche virtuelle Zeile zur Verfügung, in der man neue
Zeileneinträge konstruieren kann. Diese Zeile wird mit
rs.moveToInsertRow()
erreicht, in der dann die bereits erwähnten update-Methoden
genutzt werden können. Die Zeile wird mit
neue Zeilen ein-
fügen
rs.insertRow()
in die Datenbank geschrieben. Mit der Methode
rs.MoveToCurrentRow()
kann man von der zusätzlichen Zeile wieder zurück an die ur-
sprüngliche Position des ResultSets kehren.
Die folgenden Methoden zeigen Beispiele zur Nutzung der
vorgestellten Methoden, dabei werden mit der einen Methode
alle Gehege um x Einheiten verändert und mit der anderen ein
neues Gegehe angelegt. Für diese Methoden sei auch auf das
folgende Unterkapitel hingewiesen, da man auch von Java aus
direkt UPDATE- und INSERT-Befehle ausführen kann.
public void gehegegroesseAendern(int x){
if (con==null){
System.out.println("keine Verbindung");
return;
}
try {
Statement stmt=con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs= stmt.executeQuery(
"SELECT Gehege.Gnr, Gehege.Flaeche "
+"FROM Gehege");
while(rs.next()){
rs.updateInt(2,rs.getInt(2)+x);
rs.updateRow();
293
Search WWH ::




Custom Search