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