Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » UltraLite – Java-Programmierung » UltraLiteJ-Anwendungsentwicklung » Datenerstellung und -änderung mit SQL-Anweisungen

 

Ändern von Daten mit INSERT, UPDATE und DELETE

Mithilfe der execute-Methode eines PreparedStatement-Objekts können Sie eine SQL-Datenänderung durchführen. Ein PreparedStatement-Objekt fragt die Datenbank mittels einer benutzerdefinierten SQL-Anweisung ab.

Wenn eine SQL-Anweisung an einem PreparedStatement-Objekt angewendet wird, werden Abfrageparameter durch das ?-Zeichen angegeben. Bei einer INSERT-, UPDATE- oder DELETE-Anweisung wird jeder ?-Parameter entsprechend seiner Ordinalposition in der Anweisung referenziert. Das erste ? wird z.B. als Parameter eins referenziert und das zweite als Parameter zwei.

 Einfügen einer Zeile in eine Tabelle
  1. Bereiten Sie eine neue SQL-Anweisung als Zeichenfolge vor.

    String sql_string = 
        "INSERT INTO Department(dept_no, name) VALUES( ?, ? )";
  2. Übergeben Sie die Zeichenfolge an das PreparedStatement-Objekt.

    PreparedStatement inserter = 
        conn.prepareStatement(sql_string);
    
  3. Übergeben Sie die Eingabewerte mit der set-Methode an das PreparedStatement-Objekt.

    Dieses Beispiel setzt 101 für dept_no, referenziert als Parameter 1, und "Electronics" für den Namen, referenziert als Parameter 2.

    inserter.set(1, 101);
    inserter.set(2, "Electronics");
  4. Führen Sie die Anweisung aus.

    inserter.execute();
  5. Schließen Sie das PreparedStatement-Objekt, um Ressourcen freizugeben.

    inserter.close();
  6. Schreiben Sie alle Änderungen in der Datenbank fest.

    conn.commit();

Die Schritte 3 und 4 können so oft wiederholt werden wie erforderlich.

Alternativ dazu können Sie eine INSERT-Anweisung vorbereiten, ausführen und schließen, wenn Sie nur einen einzigen Eintrag einfügen müssen, wie im folgenden Beispiel dargestellt:

INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics');

Die Anweisung kann auch unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.

 Aktualisieren einer Zeile in einer Tabelle
  1. Bereiten Sie eine neue SQL-Anweisung als Zeichenfolge vor.

    String sql_string = 
        "UPDATE Department SET dept_no = ? WHERE dept_no = ?";
  2. Übergeben Sie die Zeichenfolge an das PreparedStatement-Objekt.

    PreparedStatement updater = 
        conn.prepareStatement(sql_string);
    
  3. Übergeben Sie die Eingabewerte mit der set-Methode an das PreparedStatement-Objekt.

    updater.set(1, 102);
    updater.set(2, 101);

    Das Beispiel oben entspricht dem Ausführen der folgenden SQL-Anweisung:

    UPDATE Department SET dept_no = 102 WHERE dept_no = 101;
  4. Führen Sie die Anweisung aus.

    updater.execute();
  5. Schließen Sie das PreparedStatement-Objekt, um Ressourcen freizugeben.

    updater.close();
  6. Schreiben Sie alle Änderungen in der Datenbank fest.

    conn.commit();

Die Schritte 3 und 4 können so oft wiederholt werden wie erforderlich.

Alternativ dazu können Sie die folgende Anweisung vorbereiten, ausführen und schließen, wenn nur eine einzige Aktualisierung durchgeführt werden soll:

UPDATE Department SET dept_no = 102 WHERE dept_no = 101;

Diese Anweisung kann auch unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.

 Löschen einer Zeile in einer Tabelle
  1. Bereiten Sie eine neue SQL-Anweisung als Zeichenfolge vor.

    String sql_string = 
        "DELETE FROM Department WHERE dept_no = ?";
  2. Übergeben Sie die Zeichenfolge an das PreparedStatement-Objekt.

    PreparedStatement deleter = 
        conn.prepareStatement(sql_string);
    
  3. Übergeben Sie die Eingabewerte mit der set-Methode an das PreparedStatement-Objekt.

    deleter.set(1, 102);

    Das Beispiel oben entspricht dem Ausführen der folgenden SQL-Anweisung:

    DELETE FROM Department WHERE dept_no = 102;
  4. Führen Sie die Anweisung aus.

    deleter.execute();
  5. Schließen Sie das PreparedStatement-Objekt, um Ressourcen freizugeben.

    deleter.close();
  6. Schreiben Sie alle Änderungen in der Datenbank fest.

    conn.commit();
  7. Die Schritte 3 und 4 können so oft wiederholt werden wie erforderlich.

    Alternativ dazu können Sie die folgende Anweisung wie oben beschrieben vorbereiten, ausführen und schließen, wenn nur ein einziger Löschvorgang durchgeführt werden soll:

    DELETE FROM Department WHERE dept_no = 102;

    Diese Anweisung kann auch unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.

 Beispiel