Ultra Light には、データを操作するための操作モードがいくつかあります。検索では、これらのモードのうち、検索とルックアップの 2 つを使用できます。Table オブジェクトには、テーブル内の特定のローを検索するために、これらのモードに対応するメソッドがあります。
Find メソッドと Lookup メソッドを使用して検索されるカラムは、テーブルを開くのに使用されたインデックスにあることが必要です。
find メソッド Table オブジェクトを開いたときに指定したソート順に基づいて、指定された検索値と正確に一致する最初のローに移動します。検索値が見つからない場合は、最初のローの前、または最後のローの後ろに位置設定されます。
lookup メソッド Table オブジェクトを開いたときに指定したソート順に基づいて、指定された検索値と一致するか、それより大きい値の最初のローに移動します。
検索モードまたはルックアップ・モードを開始します。
テーブル・オブジェクトでメソッドを呼び出してモードを設定します。たとえば、次のコードは検索モードを開始します。
tbl.FindBegin(); |
検索値を設定します。
現在のローで検索値を設定します。これらの値の設定は、データベースではなく、現在のローを保持しているバッファにのみ影響します。たとえば、次のコードは、バッファ内の値を Kaminski に設定します。
ULValue lname_col = t->GetSchema()->GetColumnID( UL_TEXT("lname") ); ULValue v_lname( UL_TEXT("Kaminski") ); tbl.Set( lname_col, v_lname ); |
ローを検索します。
適切なメソッドを呼び出して検索を実行します。たとえば、次のコードは、現在のインデックスで指定された値と正確に一致する最初のローを検索します。
マルチカラム・インデックスの場合、最初のカラムの値が常に使用され、他のカラムは省略できます。
tCustomer.FindFirst(); |
ローの次のインスタンスを検索します。
適切なメソッドを呼び出して検索を実行します。検索操作の場合は、FindNext でインデックス内のパラメータの次のインスタンスを検索します。ルックアップ操作では、MoveNext で次のインスタンスを検索します。
UltraLite_Table_iface クラスを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |