Table オブジェクトは、次のいずれかの位置に常に置かれています。
Table オブジェクトがローの上に置かれている場合は、そのデータ型に適したメソッド・セットを使用して、そのローのカラムの値を取得したり、変更したりできます。
Table オブジェクトは、カラム値を取得するメソッド・セットを提供します。これらのメソッドは、カラム ID を引数として取ります。
次のコード・フラグメントは、lname カラムの値を取得します。このカラムの値は文字列です。
ULValue val; char lname[ MAX_NAME_LEN ]; val = tbl->Get( UL_TEXT("lname") ); val.GetString( lname, MAX_NAME_LEN ); |
次のコードは、cust_id カラムの値を取得します。このカラムの値は整数です。
int id = tbl->Get( UL_TEXT("cust_id") ); |
値を取り出すメソッド以外に、値を設定するメソッドもあります。値を設定するメソッドは、カラム ID と値を引数として取ります。
たとえば、次のコードは、lname カラムの値を Kaminski に設定します。
ULValue lname_col( UL_TEXT("fname") ); ULValue v_lname( UL_TEXT("Kaminski") ); tbl->Set( lname_col, v_lname ); |
カラムの値を設定することにより、データベースのデータが直接変更されることはありません。位置がテーブルの最初のローの前または最後のローの後ろにある場合でも、プロパティに値を割り当てることができます。現在のローが定義されていないときに、データにアクセスしようとしないでください。たとえば、次の例でカラムの値をフェッチしようとすることは不正です。
// This code is incorrect tbl.BeforeFirst(); id = tbl.Get( cust_id ); |
選択するメソッドは、割り当てるデータ型に一致させてください。データ型に互換性がある場合は、Ultra Light が自動的にデータベースのデータ型をキャストするため、GetString メソッドを使用して整数値を文字列変数にフェッチしたりできます。データ型の明示的な変換を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |