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

SQL Anywhere 11.0.1 (Deutsch) » UltraLite - C- und C++-Programmierung » Anwendungsentwicklung » Anwendungen mit der UltraLite C++-API entwickeln » Mit SQL auf Daten zugreifen

 

Datenmanipulation: Einfügen, Löschen und Aktualisieren

In UltraLite können Sie die SQL-Datenmanipulation mit der Methode ExecuteStatement (Mitglied der Klasse PreparedStatement) durchführen.

Weitere Hinweise finden Sie unter UltraLite_PreparedStatement-Klasse.

Parameter in vorbereiteten Anweisungen referenzieren

UltraLite kennzeichnet Anfrageparameter mit dem ?-Zeichen. Für eine INSERT, UPDATE oder DELETE-Anweisung wird jedes ? entsprechend seiner Stellung in der vorbereiteten Anweisung bewertet. Das erste ? wird z.B. als Parameter 1 bewertet, das zweite als Parameter 2.

♦  So fügen Sie eine Zeile ein
  1. Deklarieren Sie ein PreparedStatement.

    PreparedStatement * prepStmt;

    Weitere Hinweise finden Sie unter PrepareStatement-Funktion.

  2. Weisen Sie dem PreparedStatement-Objekt eine SQL-Anweisung zu.

    prepStmt = conn->PrepareStatement( UL_TEXT("INSERT INTO MyTable(MyColumn) values (?)") );
  3. Weisen Sie der Anweisung Eingabeparameterwerte zu.

    Der nachstehende Code zeigt einen Zeichenfolgeparameter.

    prepStmt->SetParameter( 1, UL_TEXT("newValue") );
  4. Führen Sie die vorbereitete Anweisung aus.

    Der Rückgabewert zeigt die Anzahl von Zeilen, die von der Anweisung betroffen sind.

    ul_s_long rowsInserted;
    rowsInserted = prepStmt->ExecuteStatement();
  5. Schreiben Sie die Änderung fest.

    conn->Commit();
♦  So löschen Sie eine Zeile
  1. Deklarieren Sie ein PreparedStatement.

    PreparedStatement * prepStmt;
  2. Weisen Sie dem PreparedStatement-Objekt eine SQL-Anweisung zu.

    ULValue sqltext( );
    prepStmt = conn->PrepareStatement( UL_TEXT("DELETE FROM MyTable WHERE MyColumn = ?") );
  3. Weisen Sie der Anweisung Eingabeparameterwerte zu.

    prepStmt->SetParameter( 1, UL_TEXT("deleteValue") );
  4. Führen Sie die Anweisung aus.

    ul_s_long rowsDeleted;
    rowsDeleted = prepStmt->ExecuteStatement();
  5. Schreiben Sie die Änderung fest.

    conn->Commit();
♦  So aktualisieren Sie eine Zeile
  1. Deklarieren Sie ein PreparedStatement.

    PreparedStatement * prepStmt;
  2. Weisen Sie dem PreparedStatement-Objekt eine Anweisung zu.

    prepStmt = conn->PrepareStatement( 
        UL_TEXT("UPDATE MyTable SET MyColumn1 = ? WHERE MyColumn1 = ?") );
  3. Weisen Sie der Anweisung Eingabeparameterwerte zu.

    prepStmt->SetParameter( 1, UL_TEXT("newValue") );
    prepStmt->SetParameter( 2, UL_TEXT("oldValue") );
  4. Führen Sie die Anweisung aus.

    ul_s_long rowsUpdated;
    rowsUpdated = prepStmt->ExecuteStatement();
  5. Schreiben Sie die Änderung fest.

    conn->Commit();