2009-02-27 17 views
0

JDBCドライバがTYPE_FORWARD_ONLYかどうかをどのように判断できますか?私のプログラムでは、ユーザーはデータベースへの接続パラメータを設定し、クラスパスで任意のJDBCドライバを使用できます。私はドライバがTYPE_FORWARD_ONLYであるかどうか知りたいです。これは可能ですか?Java JDBCドライバとTYPE_FORWARD_ONLY

答えて

4

DatabaseMetaDataのは、ResultSetがTYPE_FORWARD_ONLYをサポートしているかどうかをチェックするために使用できる方法のsupportsResultSetType(int型)を持っています。

0

スクロールをサポートしていないドライバがありますか?例を挙げていただけますか? SCROLL_SENSITIVEであるStatement/ResultSetを作成しようとしたときに、そのようなドライバが返すものは何ですか?このように:

+0

ここに私が出会った話題があります:http://osdir.com/ml/db.sqlite.jdbc/2008-05/msg00048.html –

0

DriverPropertyInfoはドライバから取得できますが、ドライバが返す必要がある特定のjdbc仕様が見つかりません。 This referenceはもっとあるかもしれません。

1

querying the type結果セット。たとえば:

Statement stmt = con.createStatement(
ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_UPDATABLE 
); 
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"); 
System.out.println(
"Is Type Forward Only: " + 
(rs.getType() == ResultSet.TYPE_FORWARD_ONLY) 
); 
+0

ResultSetがTYPE_FORWARD_ONLYをサポートしていない場合、これはSQLFeatureNotSupportedExceptionをスローしませんか? ? – Mark

関連する問題