Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » Ultra Light C/C++ プログラミング » アプリケーション開発 » Ultra Light C++ アプリケーション開発 » SQL 文を使用したデータの作成と修正

 

SELECT を使用したデータの検索

SELECT 文を実行して Ultra Light データベースから情報を取得し、返される結果セットを処理します。

前提条件

この作業を実行するための前提条件はありません。

 ♦ タスク
  1. 次のコードを使用して、必要な変数を宣言します。

    ULPreparedStatement * prepStmt;
    ULResultSet * resultSet;
  2. 実行する SQL 文を準備します。

    次のコードは、SELECT 文の実行を準備します。

    prepStmt = conn->PrepareStatement("SELECT MyColumn1 FROM MyTable");
  3. 文を準備するときにエラーをチェックします。

    たとえば、SQL 構文のエラーのチェックには次のコードが便利です。

    if( prepStmt == NULL ) {
        const ULError * ulerr;
        ulerr = conn->GetLastError();
        // write code to handle the error
        return;
    }
  4. SQL を実行し、クエリの結果を移動するために使用できる結果セットオブジェクトを返します。

    resultSet = prepStmt->ExecuteQuery();
    if( resultSet == NULL ) {
        const ULError * ulerr;
        ulerr = conn->GetLastError();
        // write code to handle the error
        prepStmt->Close();
        return;
    }
  5. Next メソッドを呼び出すことによって、ローをトラバースします。結果を文字列として保存し、バッファに格納します。

    Next メソッドによって、結果セットの次のローに移動します。呼び出しが true を返す場合、ULResultSet オブジェクトはローに位置付けられます。それ以外の場合 (呼び出しが false を返す場合)、すべてのローがトラバースされます。

    while( resultSet->Next() ) {
        char buffer[ 100 ];
        resultSet->GetString( 1, buffer, 100 );
        printf( "MyColumn = %s\n", buffer );
    }
  6. 準備文オブジェクトと結果セットオブジェクトのリソースをクリーンアップします。

    Close メソッドを呼び出した後に、準備文オブジェクトにアクセスしないでください。

    resultSet->Close();
    prepStmt->Close();

結果

SELECT 文の結果に含まれる文字列はその後コマンドプロンプトに出力されます。

 参照