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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » UltraLite - C- und C++-Programmierung » Praktische Einführung: Erstellen einer Windows-Anwendung mit der C++-API

 

Lektion 3: Auswählen und Auflisten von Zeilen aus der Tabelle

In dieser Lektion rufen Sie Zeilen aus der Tabelle ab und geben sie auf der Befehlszeile aus.

Voraussetzungen

In dieser Lektion wird davon ausgegangen, dass Sie bereits alle vorherigen Lektionen abgeschlossen haben. Siehe Lektion 1: Erstellen und Verbinden mit einer Datenbank.

 Aufgabe
  1. Fügen Sie nachstehende Methode in customer. cpp unmittelbar nach der do_insert-Methode ein. Diese Methode führt die folgenden Aufgaben aus:

    • Sie öffnet die Tabelle.

    • Sie ruft die Spaltenbezeichner ab.

    • Sie setzt die aktuelle Position vor die erste Zeile der Tabelle.

      Alle Vorgänge in der Tabelle werden an der aktuellen Position durchgeführt. Die Position kann vor der ersten Zeile, in einer der Zeilen oder hinter der letzten Zeile sein. Standardmäßig, wie auch in diesem Fall, sind die Zeilen anhand ihrer Primärschlüsselwerte (cust_id) geordnet. Um die Zeilen anders anzuordnen, können Sie einer UltraLite-Datenbank einen Index hinzufügen und eine Tabelle unter Verwendung dieses Indexes öffnen.

    • Für jede Zeile werden die Werte für cust_ID und cust_name ausgegeben. Die Schleife läuft, bis die Next-Methode FALSE zurückgibt, was nach der letzten Zeile eintritt.

    • Sie schließt das Table-Objekt.



    static bool do_select( ULConnection * conn )
    {
        ULTable * table = conn->OpenTable( "ULCustomer" );
        if( table == UL_NULL ) {
            return false;
        }
        ULTableSchema * schema = table->GetTableSchema();
        if( schema == UL_NULL ) {
            table->Close();
            return false;
        }
        ul_column_num id_cid = 
            schema->GetColumnID( "cust_id" );
        ul_column_num cname_cid = 
            schema->GetColumnID( "cust_name" );
        schema->Close();
    
        _tprintf( "\n\nTable 'ULCustomer' row contents:\n" );
        while( table->Next() ) {
            ul_char cname[ MAX_NAME_LEN ];
            table->GetString( cname_cid, cname, MAX_NAME_LEN );
            _tprintf( "id=%d, name=%s \n", (int)table->GetInt(id_cid), cname );
        }
        table->Close();
        return true;
    }
  2. Fügen Sie die folgende Zeile unmittelbar hinter dem Aufruf der insert-Methode zur main-Methode hinzu:

    do_select(conn);
  3. Kompilieren Sie Ihre Anwendung mit nmake.

  4. Führen Sie Ihre Anwendung aus, indem Sie an einer Eingabeaufforderung customer eingeben.

Ergebnisse

Eine Liste aller Kunden-IDs und Kundennamen in der ULCustomer-Tabelle wird ausgegeben.

Nächste Schritte

Gehen Sie weiter zu Lektion 4: Hinzufügen von Synchronisation zu Ihrer Anwendung.