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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere JDBC ドライバ » JDBC を使用したデータへのアクセス

 

結果セットを返す

この項では、Java メソッドから 1 つ以上の結果セットを取得する方法について説明します。

呼び出し元の環境に 1 つ以上の結果セットを返す Java メソッドを記述し、SQL ストアド・プロシージャにこのメソッドをラップします。次のコード・フラグメントは、複数の結果セットを呼び出し元の SQL コードに返す方法を示しています。ここでは、3 つの executeQuery 文を使用して 3 つの異なる結果セットを取得します。

public static void Results( ResultSet[] rset )
       throws SQLException
{
    // Demonstrate returning multiple result sets

    Connection con = DriverManager.getConnection(
                    "jdbc:default:connection" );
    rset[0] = con.createStatement().executeQuery(
        "SELECT * FROM Employees" +
        "   ORDER BY EmployeeID" );
    rset[1] = con.createStatement().executeQuery(
        "SELECT * FROM Departments" +
        "   ORDER BY DepartmentID" );
    rset[2] = con.createStatement().executeQuery(
        "SELECT i.ID,i.LineID,i.ProductID,i.Quantity," +
        "       s.OrderDate,i.ShipDate," +
        "       s.Region,e.GivenName||' '||e.Surname" +
        "   FROM SalesOrderItems AS i" +
        "   JOIN SalesOrders AS s" +
        "   JOIN Employees AS e" +
        "   WHERE s.ID=i.ID" +
        "        AND s.SalesRepresentative=e.EmployeeID" );
    con.close();
}
利用可能なソース・コード

このコード・フラグメントは、samples-dir\SQLAnywhere\JDBC ディレクトリに含まれている JDBCExample クラスの一部です。

注意
  • このサーバ側の JDBC サンプルでは、getConnection を使用して、現在の接続を使用して実行されているデフォルトのデータベースに接続します。

  • executeQuery メソッドによって結果セットが返されます。

♦  JDBC 結果セットのサンプルを実行するには、次の手順に従います。
  1. Interactive SQL を使用して、DBA としてサンプル・データベースに接続します。

  2. JDBCExample クラスがインストールされていることを確認します。

    Java のサンプル・クラスをインストールする方法の詳細については、サンプルの準備を参照してください。

  3. クラスの JDBCExample.Results メソッドのラッパとして動作する JDBCResults という名前のストアド・プロシージャを定義します。

    CREATE PROCEDURE JDBCResults()
      DYNAMIC RESULT SETS 3
      EXTERNAL NAME 'JDBCExample.Results([Ljava/sql/ResultSet;)V'
      LANGUAGE JAVA;
  4. 次の Interactive SQL オプションを設定すると、クエリのすべての結果が表示されます。

    1. [ツール] - [オプション] を選択します。

    2. [SQL Anywhere] をクリックします。

    3. [結果] タブをクリックします。

    4. [表示できるローの最大数] の値を 5000 に設定します。

    5. [すべての結果セットを表示] を選択します。

    6. [OK] をクリックします。

  5. 次のように JDBCExample.Results メソッドを呼び出します。

    CALL JDBCResults();
  6. 3 つの結果タブ [結果セット 1]、[結果セット 2]、[結果セット 3] のそれぞれを確認します。