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 » Datenzugriff mit der Tabellen-API

 

Durch die Zeilen einer Tabelle navigieren

Die UltraLite C++-API bietet Ihnen mehrere Methoden zur Navigation durch eine Tabelle, um diverse Navigationsaufgaben durchzuführen.

Das Table-Objekt bietet Ihnen die folgenden Methoden zur Navigation durch eine Tabelle:

  • AfterLast   Bewegt den Cursor hinter die letzte Zeile

  • BeforeFirst   Bewegt den Cursor vor die erste Zeile

  • First   Bewegt den Cursor in die erste Zeile

  • Last   Bewegt den Cursor in die letzte Zeile

  • Next   Bewegt den Cursor in die nächste Zeile

  • Previous   Bewegt den Cursor in die vorige Zeile

  • Relative( offset )   Bewegt den Cursor um eine bestimmte Anzahl von Zeilen, der im Offsetwert angegeben ist, relativ zur aktuellen Zeile. Positive Offsetwerte bewegen den Cursor in der Ergebnismenge vorwärts, relativ zur aktuellen Position des Cursors in der Ergebnismenge. Negative Offsetwerte bewegen ihn rückwärts in der Ergebnismenge. Der Offsetwert Null ändert die Cursorposition nicht, ermöglicht aber das Einlesen von Daten in den Zeilenpuffer.

Weitere Hinweise finden Sie unter UltraLite_Table_iface-Klasse.

Beispiel

Der folgende Code öffnet die Tabelle MyTable und zeigt den Wert der Spalte MyColumn für jede Zeile an.

Table * tbl = conn->openTable( "MyTable" );
ul_column_num colID = 
   tbl->GetSchema()->GetColumnID( "MyColumn" );

while ( tbl->Next() ){
   char buffer[ MAX_NAME_LEN ];
   ULValue colValue = tbl->Get(colID);
   colValue.GetString(buffer, MAX_NAME_LEN);
   printf( "%s\n", buffer );
}

Die Zeilen der Tabelle werden der Anwendung vorgelegt, wenn Sie das Tabellenobjekt öffnen. Standardmäßig werden die Zeilen in der Reihenfolge des Primärschlüsselwertes sortiert, Sie können jedoch einen Index angeben und eine Tabelle öffnen, um in einer bestimmten Reihenfolge auf die Zeilen zuzugreifen.

Beispiel

Mit dem folgenden Codefragment wird zur ersten Zeile der Tabelle MyTable gewechselt, wie es der Index ix_col vorsieht.

ULValue table_name( UL_TEXT("MyTable") )
ULValue index_name( UL_TEXT("ix_col") )
Table * tbl = 
   conn->OpenTableWithIndex( table_name, index_name );

Weitere Hinweise finden Sie unter UltraLite_Table_iface-Klasse.