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

SQL Anywhere 11.0.1 (日本語) » Ultra Light - .NET プログラミング » Ultra Light.NET 開発の概要 » テーブル API によるデータ・アクセスと操作

 

現在のローの値へのアクセス

Table オブジェクトは、次のいずれかの位置に常に置かれています。

  • テーブルの最初のローの前

  • テーブルのいずれかのローの上

  • テーブルの最後のローの後ろ

Table オブジェクトがローの上に置かれている場合は、そのデータ型に適したメソッド・セットを使用して、各カラムの値を取得したり、変更したりできます。

カラム値の取得

Table オブジェクトは、カラム値を取得するメソッド・セットを提供します。これらのメソッドは、カラム ID を引数として取ります。

次のコードは、lname カラムの値を取得します。このカラムの値は文字列です。

int lname = t.GetOrdinal( "lname" );
string lastname = t.GetString( lname );

次のコードは、cust_id カラムの値を取得します。このカラムの値は整数です。

int cust_id = t.GetOrdinal( "cust_id" );
int id = t.GetInt( cust_id );
カラム値の変更

値を取り出すメソッド以外に、値を設定するメソッドもあります。値を設定するメソッドは、カラム ID と値を引数として取ります。

たとえば、次のコードは、lname カラムの値を Kaminski に設定します。

t.SetString( lname, "Kaminski" );

これらのプロパティへの値の割り当てによって、データベース内のデータの値が変更されることはありません。現在の位置がテーブルの最初のローの前でも、テーブルの最後のローの後ろであっても、プロパティに値を割り当てることができます。ただし、これらの位置に現在のローが置かれている場合に、たとえば、変数へのプロパティの割り当てなどによって、データにアクセスしようとするとエラーになります。

// This code is incorrect
t.MoveBeforeFirst();
id = t.GetInt( cust_id );
値のキャスト

選択するメソッドは、割り当てるデータ型に一致させてください。データ型に互換性がある場合は、Ultra Light が自動的にデータベースのデータ型をキャストするため、getString メソッドを使用して整数値を文字列変数にフェッチしたりできます。データ型の明示的な変換を参照してください。