Ein Tabellenobjekt befindet sich immer an einer der folgenden Positionen:
Wenn sich das Table-Objekt in einer Zeile befindet, können Sie je nach Datentyp eine von mehreren Methoden verwenden, um die Werte der Spalten in dieser Zeile abzurufen oder zu ändern.
Das Table-Objekt bietet eine Reihe von Methoden für den Abruf von Spaltenwerten. Diese Methoden haben die Spalten-ID als Argument.
Das folgende Codefragment ruft z.B. den Wert der lname-Spalte ab, der eine Zeichenfolge ist.
ULValue val; char lname[ MAX_NAME_LEN ]; val = tbl->Get( UL_TEXT("lname") ); val.GetString( lname, MAX_NAME_LEN ); |
Der folgende Code ruft den Wert der cust_id-Spalte ab, der eine Ganzzahl ist.
int id = tbl->Get( UL_TEXT("cust_id") ); |
Zusätzlich zu den Methoden zum Abrufen von Werten gibt es Methoden, die Werte festlegen. Diese Methoden nehmen die Spalten-ID und den Wert als Argument.
Der folgende Code definiert z.B. den Wert der lname-Spalte auf Kaminski.
ULValue lname_col( UL_TEXT("fname") ); ULValue v_lname( UL_TEXT("Kaminski") ); tbl->Set( lname_col, v_lname ); |
Durch das Festlegen von Spaltenwerten ändern Sie die Daten in de Datenbank nicht direkt. Sie können den Eigenschaften auch dann Werte zuordnen, wenn Sie sich vor der ersten Zeile oder hinter der letzten Zeile der Tabelle befinden. Versuchen Sie nicht, auf Daten zuzugreifen, wenn die aktuelle Zeile nicht festgelegt ist. Beispiel: Der Versuch, den Spaltenwert abzufragen im folgenden Beispiel ist falsch:
// This code is incorrect tbl.BeforeFirst(); id = tbl.Get( cust_id ); |
Die von Ihnen gewählte Methode muss dem Datentyp entsprechen, den Sie zuordnen möchten. UltraLite wandelt automatisch Datentypen der Datenbank um, wenn sie kompatibel sind, und daher können Sie die GetString-Methode verwenden, um einen Ganzzahlwert in eine Zeichenfolge-Variable zu übergeben usw. Weitere Hinweise finden Sie unter Datentypen explizit konvertieren.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |