Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ダイナミック・クエリの実行 : CacheQuery

Java クライアントは、CacheQuery クラスを介してデータベースに SQL 文字列を渡すことにより、Caché に対してダイナミック・クエリを実行することもできます。CacheQuery execute メソッドは、java.sql.ResultSet オブジェクトを返します。

以下のメソッドは、値が idContact プロパティと、値が typePhoneNumberType プロパティを持つ、すべての PhoneNumber インスタンスの Number プロパティの値を選択するクエリを実行します。次に、このメソッドは、ResultSet を繰り返し処理して、それぞれの Number 値を表示します。


public class BindingExamples {
   public static void displayPhoneNumbersByType(Database db,
   String id, String type) throws CacheException, SQLException {
      Id ID= new Id(id);
      String SQL = "SELECT Number FROM JavaTutorial.PhoneNumber" +
      " WHERE Contact='"+id +"' AND PhoneNumberType='" + type +"'";
      CacheQuery query = new CacheQuery(db, SQL);
      java.sql.ResultSet rs= query.execute();
      while (rs.next()){
         System.out.println(rs.getString(1));
      }
   }
}
Note:

Caché で PhoneNumber を表す SQL テーブルには、Contact 列が含まれています。この列には、Contact オブジェクトの ID 値が含まれます。これらの値は、各 PhoneNumber 行を Contact 行と関連付ける外部キーです。これについては、このチュートリアルの第 II 章で説明します。

FeedbackOpens in a new tab