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++ プログラミング » アプリケーション開発 » Ultra Light C++ API を使用したアプリケーションの開発 » SQL を使用したデータへのアクセス

 

データ操作:挿入、削除、更新

Ultra Light では、ExecuteStatement メソッド (PreparedStatement クラスのメンバ) を使用して、SQL データ操作を実行できます。

UltraLite_PreparedStatement クラスを参照してください。

準備文のパラメータの参照

Ultra Light では、? 文字を使用してクエリのパラメータを示します。INSERT 文、UPDATE 文、DELETE 文では必ず、準備文での順序位置に従ってそれぞれの ? が参照されます。たとえば、最初の ? はパラメータ 1、2 番目の ? はパラメータ 2、のようになります。

♦  ローを挿入するには、次の手順に従います。
  1. PreparedStatement を宣言します。

    PreparedStatement * prepStmt;

    PrepareStatement 関数を参照してください。

  2. SQL 文を PreparedStatement オブジェクトに割り当てます。

    prepStmt = conn->PrepareStatement( UL_TEXT("INSERT INTO MyTable(MyColumn) values (?)") );
  3. 文の入力パラメータ値を割り当てます。

    次のコードは、文字列パラメータを示します。

    prepStmt->SetParameter( 1, UL_TEXT("newValue") );
  4. 準備文を実行します。

    戻り値は、文に影響されたローの数を示します。

    ul_s_long rowsInserted;
    rowsInserted = prepStmt->ExecuteStatement();
  5. 変更をコミットします。

    conn->Commit();
♦  ローを削除するには、次の手順に従います。
  1. PreparedStatement を宣言します。

    PreparedStatement * prepStmt;
  2. SQL 文を PreparedStatement オブジェクトに割り当てます。

    ULValue sqltext( );
    prepStmt = conn->PrepareStatement( UL_TEXT("DELETE FROM MyTable WHERE MyColumn = ?") );
  3. 文の入力パラメータ値を割り当てます。

    prepStmt->SetParameter( 1, UL_TEXT("deleteValue") );
  4. 文を実行します。

    ul_s_long rowsDeleted;
    rowsDeleted = prepStmt->ExecuteStatement();
  5. 変更をコミットします。

    conn->Commit();
♦  ローを更新するには、次の手順に従います。
  1. PreparedStatement を宣言します。

    PreparedStatement * prepStmt;
  2. PreparedStatement オブジェクトに文を割り当てます。

    prepStmt = conn->PrepareStatement( 
        UL_TEXT("UPDATE MyTable SET MyColumn1 = ? WHERE MyColumn1 = ?") );
  3. 文の入力パラメータ値を割り当てます。

    prepStmt->SetParameter( 1, UL_TEXT("newValue") );
    prepStmt->SetParameter( 2, UL_TEXT("oldValue") );
  4. 文を実行します。

    ul_s_long rowsUpdated;
    rowsUpdated = prepStmt->ExecuteStatement();
  5. 変更をコミットします。

    conn->Commit();