次の手順は、データベースにデータを追加する方法を示しています。
以下のプロシージャを、customer.cpp の main メソッドの直前に追加します。
bool do_insert( Connection * conn ) { Table * table = conn->OpenTable( UL_TEXT("ULCustomer") ); if( table == UL_NULL ) { _tprintf( _TEXT("Table not found: ULCustomer\n") ); return false; } if( table->GetRowCount() == 0 ) { _tprintf( _TEXT("Inserting one row.\n") ); table->InsertBegin(); table->Set( UL_TEXT("cust_name"), UL_TEXT("New Customer") ); table->Insert(); conn->Commit(); } else { _tprintf( _TEXT("The table has %lu rows\n"), table->GetRowCount() ); } table->Release(); return true; } |
このプロシージャでは、次のタスクを実行します。
connection->OpenTable() メソッドを使用してテーブルを開きます。テーブルの操作を実行するには、Table オブジェクトを開いてください。
テーブルが空の場合は、ローを 1 つ追加します。このコードでは、ローを挿入するために、InsertBegin メソッドを使用して挿入モードに変更し、必要な各カラムに値を設定し、挿入を実行してデータベースにローを追加します。
commit メソッドは、オートコミットがオフの場合のみ必要です。デフォルトでは、オートコミットは有効ですが、パフォーマンスを向上したり、複数操作トランザクションを行うために、オートコミットを無効にできます。
テーブルが空でない場合は、テーブルのロー数をレポートします。
Table オブジェクトを閉じ、関連付けられているリソースを解放します。
操作が正常に完了したことを示す bool 値が返されます。
作成した do_insert メソッドを呼び出します。
次の行を、main()
メソッドの open_conn の呼び出しの直後に追加します。
do_insert(conn); |
nmake を実行してアプリケーションをコンパイルします。
コマンド・プロンプトで customer と入力してアプリケーションを実行します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |