Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ULTable オブジェクトは、次のいずれかの位置に常に置かれています。
ULTable オブジェクトがローの上に置かれている場合は、そのデータ型に適したメソッドセットを使用して、そのローのカラムの値を取得したり、変更したりできます。
ULTable オブジェクトは、カラム値を取得するメソッドセットを提供します。これらのメソッドは、カラム名またはカラム ID を引数として取ります。
次の例は、テーブルの最初のカラムが age であることを前提として、開いているテーブルから age 値を取得する 2 つの方法を示します。
ul_s_long age1 = tbl->GetInt( 1 ); ul_s_long age2 = tbl->GetInt( "age" ); assert( age1 == age2 );
値をループで取得する場合、値の取得にカラム ID を使用するバージョンの方が、パフォーマンスが優れています。
値を取り出すメソッド以外に、値を設定するメソッドもあります。値を設定するメソッドは、カラム名またはカラム ID と値を引数として取ります。
たとえば、テーブルの最初のカラムが lname であることを前提として、文字列カラム lname と fname を持つローに文字列値を設定する 2 つの方法を示します。
tbl->SetString( 1, last_name ); tbl->SetString( "fname", first_name );
カラムの値を設定することにより、データベースのデータが直接変更されることはありません。位置がテーブルの最初のローの前または最後のローの後ろにある場合でも、カラムに値を割り当てることができます。現在のローが定義されていないときに、データにアクセスしようとしないでください。たとえば、次の例でカラムの値をフェッチしようとすることは不正です。
// This code is incorrect tbl->BeforeFirst(); tbl = tbl.GetInt( cust_id );
選択するメソッドは、割り当てるデータ型に一致させてください。データ型に互換性がある場合は、Ultra Light が自動的にデータベースのデータ型をキャストするため、GetString メソッドを使用して整数値を文字列変数にフェッチしたりできます。