次の手順では、テーブルからローを取り出し、コマンド・ラインに出力します。
以下のメソッドを customer.cpp に追加します。このメソッドでは、次のタスクを実行します。
Table オブジェクトを開きます。
カラム識別子を取得します。
現在の位置を、テーブル内にある最初のローの前に設定します。
テーブルに対するすべての操作は、現在の位置で実行されます。現在の位置は、最初のローの前、テーブルのいずれかのローの上、または最後のローの後ろです。この例のように、デフォルトでは、ローはプライマリ・キー値 (cust_id) に基づいて順序付けられています。別の順序でローを並べ替えるには、Ultra Light データベースにインデックスを追加し、そのインデックスを使用してテーブルを開きます。
各ローに対して、cust_id と cust_name の値が書き出されます。ループは、最後のローの後に Next メソッドが false を返すまで繰り返されます。
Table オブジェクトを閉じます。
bool do_select( Connection * conn ) { Table * table = conn->OpenTable( _TEXT("ULCustomer") ); if( table == UL_NULL ) { return false; } TableSchema * schema = table->GetSchema(); if( schema == UL_NULL ) { table->Release(); return false; } ul_column_num id_cid = schema->GetColumnID( UL_TEXT("cust_id") ); ul_column_num cname_cid = schema->GetColumnID( UL_TEXT("cust_name") ); schema->Release(); _tprintf( _TEXT("\n\nTable 'ULCustomer' row contents:\n") ); while( table->Next() ) { ul_char cname[ MAX_NAME_LEN ]; table->Get( cname_cid ).GetString( cname, MAX_NAME_LEN ); _tprintf( _TEXT("id=%d, name=%s \n"), (int)table->Get(id_cid), cname); } table->Release(); return true; } |
次の行を、main メソッドの insert メソッドの呼び出しの直後に追加します。
do_select(conn); |
nmake を実行してアプリケーションをコンパイルします。
コマンド・プロンプトで customer と入力してアプリケーションを実行します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |