SELECT 文を実行して Ultra Light データベースから情報を取得し、返される結果セットを処理します。
前提条件
この作業を実行するための前提条件はありません。
次のコードを使用して、必要な変数を宣言します。
ULPreparedStatement * prepStmt; ULResultSet * resultSet; |
実行する SQL 文を準備します。
次のコードは、SELECT 文の実行を準備します。
prepStmt = conn->PrepareStatement("SELECT MyColumn1 FROM MyTable"); |
文を準備するときにエラーをチェックします。
たとえば、SQL 構文のエラーのチェックには次のコードが便利です。
if( prepStmt == NULL ) { const ULError * ulerr; ulerr = conn->GetLastError(); // write code to handle the error return; } |
SQL を実行し、クエリの結果を移動するために使用できる結果セットオブジェクトを返します。
resultSet = prepStmt->ExecuteQuery(); if( resultSet == NULL ) { const ULError * ulerr; ulerr = conn->GetLastError(); // write code to handle the error prepStmt->Close(); return; } |
Next メソッドを呼び出すことによって、ローをトラバースします。結果を文字列として保存し、バッファに格納します。
Next メソッドによって、結果セットの次のローに移動します。呼び出しが true を返す場合、ULResultSet オブジェクトはローに位置付けられます。それ以外の場合 (呼び出しが false を返す場合)、すべてのローがトラバースされます。
while( resultSet->Next() ) { char buffer[ 100 ]; resultSet->GetString( 1, buffer, 100 ); printf( "MyColumn = %s\n", buffer ); } |
準備文オブジェクトと結果セットオブジェクトのリソースをクリーンアップします。
Close メソッドを呼び出した後に、準備文オブジェクトにアクセスしないでください。
resultSet->Close(); prepStmt->Close(); |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |