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 - C/C++ プログラミング » チュートリアル:C++ API を使用したアプリケーションの構築

 

レッスン 2 :データベースへのデータの挿入

次の手順は、データベースにデータを追加する方法を示しています。

♦  データベースへローの追加
  1. 以下のプロシージャを、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 値が返されます。

  2. 作成した do_insert メソッドを呼び出します。

    次の行を、main() メソッドの open_conn の呼び出しの直後に追加します。

    do_insert(conn);
  3. nmake を実行してアプリケーションをコンパイルします。

  4. コマンド・プロンプトで customer と入力してアプリケーションを実行します。