|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface Statement
静的 SQL 文を実行し、作成された結果を返すために使用されるオブジェクトです。
デフォルトでは、Statement
オブジェクトごとに 1 つの ResultSet
オブジェクトだけが同時にオープンできます。したがって、1 つの ResultSet
オブジェクトの読み込みが、別の読み込みにより割り込まれると、各々は異なった Statement
オブジェクトによって生成されたことになります。Statement
インタフェースのすべての execution メソッドは、文の現在の ResultSet
オブジェクトでオープンされているものが存在すれば、それを暗黙にクローズします。
Connection.createStatement()
,
ResultSet
フィールドの概要 | |
---|---|
static int |
CLOSE_ALL_RESULTS
getMoreResults が呼び出されたときに、直前までオープンされていたすべての ResultSet オブジェクトがクローズされることを示す定数です。 |
static int |
CLOSE_CURRENT_RESULT
getMoreResults が呼び出されたときに、現在の ResultSet オブジェクトがクローズされることを示す定数です。 |
static int |
EXECUTE_FAILED
バッチ文の実行中にエラーが発生したことを示す定数です。 |
static int |
KEEP_CURRENT_RESULT
getMoreResults が呼び出されたときに、現在の ResultSet オブジェクトがクローズされないことを示す定数です。 |
static int |
NO_GENERATED_KEYS
生成されたキーが検索可能にされないことを示す定数です。 |
static int |
RETURN_GENERATED_KEYS
生成されたキーが検索可能にされることを示す定数です。 |
static int |
SUCCESS_NO_INFO
バッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。 |
メソッドの概要 | |
---|---|
void |
addBatch(String sql)
この Statement オブジェクトの現在のコマンドのリストに指定された SQL コマンドを追加します。 |
void |
cancel()
DBMS およびドライバの両方が SQL 文の終了をサポートする場合に、この Statement オブジェクトを取り消します。 |
void |
clearBatch()
この Statement オブジェクトの現在の SQL コマンドリストを空にします。 |
void |
clearWarnings()
この Statement オブジェクトに関して報告されたすべての警告をクリアします。 |
void |
close()
自動的にクローズされるときに Statement オブジェクトのデータベースと JDBC リソースが解放されるのを待つのではなく、ただちにそれらを解放します。 |
boolean |
execute(String sql)
複数の結果を返す可能性のある指定された SQL 文を実行します。 |
boolean |
execute(String sql,
int autoGeneratedKeys)
複数の結果を返す可能性のある指定された SQL 文を実行し、すべての自動生成キーを検索可能にするかどうかについてドライバに通知します。 |
boolean |
execute(String sql,
int[] columnIndexes)
複数の結果を返す可能性のある指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。 |
boolean |
execute(String sql,
String[] columnNames)
複数の結果を返す可能性のある指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。 |
int[] |
executeBatch()
コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。 |
ResultSet |
executeQuery(String sql)
単一の ResultSet オブジェクトを返す、指定された SQL 文を実行します。 |
int |
executeUpdate(String sql)
指定された SQL 文を実行します。 |
int |
executeUpdate(String sql,
int autoGeneratedKeys)
指定された SQL 文を実行し、この Statement オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。 |
int |
executeUpdate(String sql,
int[] columnIndexes)
指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。 |
int |
executeUpdate(String sql,
String[] columnNames)
指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。 |
Connection |
getConnection()
この Statement オブジェクトを生成した Connection オブジェクトを取得します。 |
int |
getFetchDirection()
この Statement オブジェクトから生成された結果セットのデフォルトである、データベーステーブルから行をフェッチする方向を取得します。 |
int |
getFetchSize()
この Statement オブジェクトから生成された ResultSet オブジェクトのデフォルトのフェッチサイズである、結果セットの行数を取得します。 |
ResultSet |
getGeneratedKeys()
この Statement オブジェクトを実行した結果として作成された自動生成キーを取得します。 |
int |
getMaxFieldSize()
この Statement オブジェクトによって生成される ResultSet オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。 |
int |
getMaxRows()
この Statement オブジェクトによって生成される ResultSet オブジェクトが含むことのできる最大の行数を取得します。 |
boolean |
getMoreResults()
Statement オブジェクトの次の結果に移動します。 |
boolean |
getMoreResults(int current)
Statement オブジェクトの次の結果に移動します。 |
int |
getQueryTimeout()
ドライバが Statement オブジェクトの実行を待つ秒数を取得します。 |
ResultSet |
getResultSet()
ResultSet オブジェクトとして現在の結果を取得します。 |
int |
getResultSetConcurrency()
この Statement オブジェクトから生成された ResultSet オブジェクトの結果セットの並行性を取得します。 |
int |
getResultSetHoldability()
この Statement オブジェクトから生成された ResultSet オブジェクトの結果セットの保持機能を取得します。 |
int |
getResultSetType()
この Statement オブジェクトから生成された ResultSet オブジェクトの結果セットの型を取得します。 |
int |
getUpdateCount()
更新カウントとして現在の結果を取得します。 |
SQLWarning |
getWarnings()
この Statement オブジェクトに関する呼び出しによって報告される最初の警告を取得します。 |
boolean |
isClosed()
この Statement オブジェクトがクローズされているかどうかを取得します。 |
boolean |
isPoolable()
Statement がプール可能かどうかを示す値を返します。 |
void |
setCursorName(String name)
後続の Statement オブジェクトの execute メソッドによって使用される SQL カーソル名を指定された String に設定します。 |
void |
setEscapeProcessing(boolean enable)
エスケープの処理をオンまたはオフに設定します。 |
void |
setFetchDirection(int direction)
Statement オブジェクトを使用して作成された ResultSet オブジェクトの行が処理される方向についてのヒントをドライバに提供します。 |
void |
setFetchSize(int rows)
この Statement で作成された ResultSet オブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントを JDBC ドライバに提供します。 |
void |
setMaxFieldSize(int max)
この Statement オブジェクトによって生成される ResultSet オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。 |
void |
setMaxRows(int max)
この Statement オブジェクトで作成された任意の ResultSet オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。 |
void |
setPoolable(boolean poolable)
Statement をプールすること、またはプールしないことを要求します。 |
void |
setQueryTimeout(int seconds)
ドライバが Statement オブジェクトの実行を待つ秒数を、指定された秒数に設定します。 |
インタフェース java.sql.Wrapper から継承されたメソッド |
---|
isWrapperFor, unwrap |
フィールドの詳細 |
---|
static final int CLOSE_CURRENT_RESULT
getMoreResults
が呼び出されたときに、現在の ResultSet
オブジェクトがクローズされることを示す定数です。
static final int KEEP_CURRENT_RESULT
getMoreResults
が呼び出されたときに、現在の ResultSet
オブジェクトがクローズされないことを示す定数です。
static final int CLOSE_ALL_RESULTS
getMoreResults
が呼び出されたときに、直前までオープンされていたすべての ResultSet
オブジェクトがクローズされることを示す定数です。
static final int SUCCESS_NO_INFO
static final int EXECUTE_FAILED
static final int RETURN_GENERATED_KEYS
static final int NO_GENERATED_KEYS
メソッドの詳細 |
---|
ResultSet executeQuery(String sql) throws SQLException
ResultSet
オブジェクトを返す、指定された SQL 文を実行します。
sql
- データベースに送られる SQL 文。通常静的 SQL SELECT
文
ResultSet
オブジェクト。null
にはならない
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または指定された SQL 文が単一の ResultSet
オブジェクト以外の何も生成しない場合int executeUpdate(String sql) throws SQLException
INSERT
文、UPDATE
文、DELETE
文、または SQL DDL 文のような何も返さない SQL 文の場合があります。
sql
- SQL INSERT
文、UPDATE
文、または DELETE
文のような SQL データ操作言語 (DML) 文、あるいは DDL 文のような何も返さない SQL 文
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または指定された SQL 文が ResultSet
オブジェクトを生成する場合void close() throws SQLException
Statement
オブジェクトのデータベースと JDBC リソースが解放されるのを待つのではなく、ただちにそれらを解放します。データベースのリソースを占有するのを避けるために、通常は、作業が終了したらすぐにリソースを解放するようにしてください。
すでにクローズされた Statement
オブジェクトで close
メソッドを呼び出すと、操作は行われません。
注: Statement
オブジェクトがクローズされるとき、その現在の ResultSet
オブジェクトが存在すれば、それもクローズされます。
SQLException
- データベースアクセスエラーが発生した場合int getMaxFieldSize() throws SQLException
Statement
オブジェクトによって生成される ResultSet
オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。この制限値は、BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、NCHAR
、NVARCHAR
、LONGNVARCHAR
、および LONGVARCHAR
の各列にだけ適用されます。制限値を超えたデータは通知なしに破棄されます。
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合setMaxFieldSize(int)
void setMaxFieldSize(int max) throws SQLException
Statement
オブジェクトによって生成される ResultSet
オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数の制限を設定します。
この制限値は、BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、NCHAR
、NVARCHAR
、LONGNVARCHAR
、および LONGVARCHAR
の各フィールドだけに適用されます。制限値を超えたデータは通知なしに破棄されます。移植性を最大限にするには、256 より大きい値を使用します。
max
- バイト単位の新しい列サイズの制限値。ゼロは無制限を意味する
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または条件 max >= 0 が満たされない場合getMaxFieldSize()
int getMaxRows() throws SQLException
Statement
オブジェクトによって生成される ResultSet
オブジェクトが含むことのできる最大の行数を取得します。制限値を超えた行は通知なしに除外されます。
Statement
オブジェクトによって生成される ResultSet
オブジェクトの現在の最大行数。ゼロは無制限を意味する
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合setMaxRows(int)
void setMaxRows(int max) throws SQLException
Statement
オブジェクトで作成された任意の ResultSet
オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。制限値を超えた行は通知なしに除外されます。
max
- 新しい最大行数の制限値。ゼロは無制限を意味する
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または条件 max >= 0 が満たされない場合getMaxRows()
void setEscapeProcessing(boolean enable) throws SQLException
PreparedStatement
オブジェクトに対するエスケープ処理を無効にしても効果はありません。
enable
- エスケープ処理を有効にする場合は true
、無効にする場合は false
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合int getQueryTimeout() throws SQLException
Statement
オブジェクトの実行を待つ秒数を取得します。この時間を経過すると、SQLException
がスローされます。
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合setQueryTimeout(int)
void setQueryTimeout(int seconds) throws SQLException
Statement
オブジェクトの実行を待つ秒数を、指定された秒数に設定します。この制限時間を経過すると、SQLException
がスローされます。JDBC ドライバは、この制限を execute
、executeQuery
、executeUpdate
の各メソッドに適用する必要があります。JDBC ドライバ実装は、この制限を ResultSet
メソッドに適用することもあります (詳細は、ドライバベンダーのマニュアルを参照してください)。
seconds
- 新しいクエリータイムアウトの制限値の秒数。ゼロは無制限を意味する
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または条件 seconds >= 0 が満たされない場合getQueryTimeout()
void cancel() throws SQLException
Statement
オブジェクトを取り消します。このメソッドは、1 つのスレッドが別のスレッドによって実行中の文を取り消すのに使用できます。
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合SQLWarning getWarnings() throws SQLException
Statement
オブジェクトに関する呼び出しによって報告される最初の警告を取得します。後続の Statement
オブジェクトの警告は、この SQLWarning
オブジェクトにチェーンされます。
警告チェーンは、文が (再) 実行されるたびに自動的にクリアされます。このメソッドはクローズされた Statement
オブジェクトの呼び出しには使用しません。使用すると SQLException
がスローされます。
注: ResultSet
オブジェクトを処理中の場合、ResultSet
オブジェクトの読み込みに関連する警告はそのオブジェクトを生成した Statement
オブジェクトではなくすべて ResultSet
オブジェクトにチェーンされます。
SQLWarning
オブジェクト。警告がない場合は null
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合void clearWarnings() throws SQLException
Statement
オブジェクトに関して報告されたすべての警告をクリアします。このメソッドの呼び出しのあと、この Statement
オブジェクトに対する新しい警告が通知されるまで、getWarnings
メソッドは null
を返します。
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合void setCursorName(String name) throws SQLException
Statement
オブジェクトの execute
メソッドによって使用される SQL カーソル名を指定された String
に設定します。この名前は、SQL で位置決めされた更新文または削除文で使用され、この文で生成された ResultSet
オブジェクト内の現在の行を識別できます。データベースが位置決めされた更新または削除をサポートしていない場合、このメソッドは何も実行しません。カーソルが更新をサポートする適切な遮断レベルを持つことが保証されるためには、カーソルの SELECT
文は SELECT FOR UPDATE
形式である必要があります。FOR UPDATE
が存在しない場合、位置決めされた更新は失敗します。
注: 定義により、位置決めされた更新または削除の実行は、位置決めに使用中の ResultSet
オブジェクトを生成した Statement
オブジェクトとは異なる Statement
オブジェクトによって実行される必要があります。さらに、カーソル名は接続内で一意にする必要があります。
name
- 新しいカーソル名。接続内で一意にする必要がある
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合boolean execute(String sql) throws SQLException
execute
メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet
または getUpdateCount
メソッドを使用して結果を取得します。 そして、getMoreResults
により引き続き任意の結果の取得 (複数可) に移動します。
sql
- 任意の SQL 文
ResultSet
オブジェクトの場合は true
。更新カウントであるか、または結果がない場合は false
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合getResultSet()
,
getUpdateCount()
,
getMoreResults()
ResultSet getResultSet() throws SQLException
ResultSet
オブジェクトとして現在の結果を取得します。このメソッドは、1 つの結果につき 1 回だけ呼び出す必要があります。
ResultSet
オブジェクトとしての現在の結果。更新カウントであるか、または結果がない場合は null
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合execute(java.lang.String)
int getUpdateCount() throws SQLException
ResultSet
オブジェクトであるか、または結果がない場合は -1 を返します。このメソッドは、1 つの結果につき 1 回だけ呼び出す必要があります。
ResultSet
オブジェクトであるか、または結果がない場合は -1
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合execute(java.lang.String)
boolean getMoreResults() throws SQLException
Statement
オブジェクトの次の結果に移動します。この結果が ResultSet
オブジェクトの場合は true
を返し、getResultSet
メソッドで得られた現在の ResultSet
オブジェクトをすべて暗黙にクローズします。
次に該当する場合、結果はありません。
// stmt is a Statement object ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
ResultSet
オブジェクトの場合は true
。更新カウントであるか、または結果がない場合は false
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合execute(java.lang.String)
void setFetchDirection(int direction) throws SQLException
Statement
オブジェクトを使用して作成された ResultSet
オブジェクトの行が処理される方向についてのヒントをドライバに提供します。デフォルト値は ResultSet.FETCH_FORWARD
です。
このメソッドは、この Statement
オブジェクトによって生成される結果セットのデフォルトのフェッチ方向を設定します。各結果セットは、それ自身のフェッチ方向を取得および設定するための独自のメソッドを持ちます。
direction
- 行を処理する初期方向
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または指定された方向が ResultSet.FETCH_FORWARD
、ResultSet.FETCH_REVERSE
、または ResultSet.FETCH_UNKNOWN
のどれでもない場合getFetchDirection()
int getFetchDirection() throws SQLException
Statement
オブジェクトから生成された結果セットのデフォルトである、データベーステーブルから行をフェッチする方向を取得します。この Statement
オブジェクトが setFetchDirection
メソッドを呼び出してフェッチ方向を設定していない場合、戻り値は実装に依存します。
Statement
オブジェクトから生成された結果セットのデフォルトのフェッチ方向
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合setFetchDirection(int)
void setFetchSize(int rows) throws SQLException
Statement
で作成された ResultSet
オブジェクトでより多くの行が必要なときにデータベースから取り出す必要がある行数についてのヒントを JDBC ドライバに提供します。指定された値が 0 の場合、ヒントは無視されます。デフォルト値はゼロです。
rows
- フェッチする行数
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または条件 rows >= 0
が満たされない場合getFetchSize()
int getFetchSize() throws SQLException
Statement
オブジェクトから生成された ResultSet
オブジェクトのデフォルトのフェッチサイズである、結果セットの行数を取得します。この Statement
オブジェクトが setFetchSize
メソッドを呼び出してフェッチサイズを設定していない場合、戻り値は実装に依存します。
Statement
オブジェクトから生成された結果セットのデフォルトのフェッチサイズ
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合setFetchSize(int)
int getResultSetConcurrency() throws SQLException
Statement
オブジェクトから生成された ResultSet
オブジェクトの結果セットの並行性を取得します。
ResultSet.CONCUR_READ_ONLY
または ResultSet.CONCUR_UPDATABLE
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合int getResultSetType() throws SQLException
Statement
オブジェクトから生成された ResultSet
オブジェクトの結果セットの型を取得します。
ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、または ResultSet.TYPE_SCROLL_SENSITIVE
のうちの 1 つ
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合void addBatch(String sql) throws SQLException
Statement
オブジェクトの現在のコマンドのリストに指定された SQL コマンドを追加します。このリストのコマンドは executeBatch
メソッドを呼び出すことにより、バッチとして実行できます。
sql
- 通常は SQL INSERT
文または UPDATE
文
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、またはドライバがバッチ更新をサポートしない場合executeBatch()
,
DatabaseMetaData.supportsBatchUpdates()
void clearBatch() throws SQLException
Statement
オブジェクトの現在の SQL コマンドリストを空にします。
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、またはドライバがバッチ更新をサポートしない場合addBatch(java.lang.String)
,
DatabaseMetaData.supportsBatchUpdates()
int[] executeBatch() throws SQLException
int
要素は、バッチ内のコマンドに対応して返され順序付けられます。つまり、バッチに追加された順序に従って順序付けられます。executeBatch
メソッドによって返される配列内の要素は、次のいずれか 1 つに該当します。
SUCCESS_NO_INFO
の値 -- コマンドが正常に処理されたが、影響を受けた行数が不明なことを示します。
バッチ更新内のコマンドの 1 つが正常に実行できなかった場合、このメソッドは BatchUpdateException
をスローし、JDBC ドライバはバッチ内の残りのコマンドの処理を継続することも、中止することもできます。ただし、ドライバの動作は特定の DBMS と一貫性を保つ必要があり、常にコマンドの処理を継続するか、あるいは継続しないかのどちらかになります。失敗後、ドライバが処理を継続する場合は、BatchUpdateException.getUpdateCounts
メソッドで返される配列には、バッチ内のコマンドと同じ数の要素が格納され、それらの要素の 1 つ以上が次に該当します。
EXECUTE_FAILED
の値 -- 失敗したコマンドが正常に実行されたことを示し、コマンドが失敗したあとに、ドライバがコマンドの処理を継続した場合に限り発生します。
Java 2 SDK, Standard Edition, Version 1.3 では、使用できる実装および戻り値が修正されて、BatchUpdateException
オブジェクトがスローされたあとにバッチ更新内のコマンドの処理を継続できるオプションが用意されています。
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、またはドライバがバッチ文をサポートしない場合。データベースに送信されたコマンドの 1 つが正常に実行されなかった場合や、結果セットを返そうとすると BatchUpdateException
(SQLException
のサブクラス) がスローされるaddBatch(java.lang.String)
,
DatabaseMetaData.supportsBatchUpdates()
Connection getConnection() throws SQLException
Statement
オブジェクトを生成した Connection
オブジェクトを取得します。
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合boolean getMoreResults(int current) throws SQLException
Statement
オブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在の ResultSet
オブジェクトを処理し、次の結果が ResultSet
オブジェクトの場合は true
を返します。
次に該当する場合、結果はありません。
// stmt is a Statement object ((stmt.getMoreResults(current) == false) && (stmt.getUpdateCount() == -1))
current
- getResultSet
メソッドを使用して取得した現在の ResultSet
オブジェクトに生じる状態を示す Statement
定数。Statement.CLOSE_CURRENT_RESULT
、Statement.KEEP_CURRENT_RESULT
、または Statement.CLOSE_ALL_RESULTS
のうちの 1 つ
ResultSet
オブジェクトの場合は true
。更新カウントであるか、または結果がない場合は false
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、または指定された引数が Statement.CLOSE_CURRENT_RESULT
、Statement.KEEP_CURRENT_RESULT
、または Statement.CLOSE_ALL_RESULTS
のどれでもない場合
SQLFeatureNotSupportedException
- DatabaseMetaData.supportsMultipleOpenResults
が false
を返し、かつ Statement.KEEP_CURRENT_RESULT
または Statement.CLOSE_ALL_RESULTS
のどちらかが引数として指定されている場合execute(java.lang.String)
ResultSet getGeneratedKeys() throws SQLException
Statement
オブジェクトを実行した結果として作成された自動生成キーを取得します。この Statement
オブジェクトがキーを生成しなかった場合は、空の ResultSet
オブジェクトが返されます。
注: 自動生成キーを表す列が指定されなかった場合、JDBC ドライバ実装では、自動生成キーを表すのに最適な列を判断します。
Statement
オブジェクトの実行で生成された自動生成キーを含む ResultSet
オブジェクト
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement
オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。SQL 文が INSERT
文でない場合、または自動生成キーを返すことができる SQL 文でない場合 (そのような文のリストはベンダー固有)、ドライバはフラグを無視します。
sql
- SQL INSERT
文、UPDATE
文、または DELETE
文のような SQL データ操作言語 (DML) 文、あるいは DDL 文のような何も返さない SQL 文autoGeneratedKeys
- 自動生成キーが検索可能にされるかどうかを示すフラグ。定数 Statement.RETURN_GENERATED_KEYS
または Statement.NO_GENERATED_KEYS
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、指定された SQL 文が ResultSet
オブジェクトを返す場合、または指定された定数が許可された定数のどれでもない場合
SQLFeatureNotSupportedException
- JDBC ドライバが定数 Statement.RETURN_GENERATED_KEYS を指定したこのメソッドをサポートしない場合int executeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができる SQL 文でない場合、ドライバは配列を無視します。
sql
- SQL INSERT
文、UPDATE
文、または DELETE
文のような SQL データ操作言語 (DML) 文、あるいは DDL 文のような何も返さない SQL 文columnIndexes
- 挿入された行から返される列を示す列インデックスの配列
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、SQL 文が ResultSet
オブジェクトを返す場合、またはこのメソッドに指定された 2 番目の引数が、有効な列インデックスを要素とする int
配列ではない場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合int executeUpdate(String sql, String[] columnNames) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができる SQL 文でない場合、ドライバは配列を無視します。
sql
- SQL INSERT
文、UPDATE
文、または DELETE
文のような SQL データ操作言語 (DML) 文、あるいは DDL 文のような何も返さない SQL 文columnNames
- 挿入された行から返される列の名前の配列
INSERT
文、UPDATE
文、DELETE
文の場合は行数。何も返さない SQL 文の場合は 0
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、SQL 文が ResultSet
オブジェクトを返す場合、またはこのメソッドに指定された 2 番目の引数が、有効な列名を要素とする String
配列ではない場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合boolean execute(String sql, int autoGeneratedKeys) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができる SQL 文でない場合 (そのような文のリストはベンダー固有)、ドライバはこの信号を無視します。
いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャーを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。
execute
メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet
または getUpdateCount
メソッドを使用して結果を取得します。 そして、getMoreResults
により引き続き任意の結果の取得 (複数可) に移動します。
sql
- 任意の SQL 文autoGeneratedKeys
- getGeneratedKeys
メソッドを使用して、自動生成キーを検索可能にするかどうかを示す定数。定数 Statement.RETURN_GENERATED_KEYS
または Statement.NO_GENERATED_KEYS
ResultSet
オブジェクトの場合は true
。更新カウントであるか、または結果がない場合は false
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、またはこのメソッドに指定された 2 番目のパラメータが Statement.RETURN_GENERATED_KEYS
でも Statement.NO_GENERATED_KEYS
でもない場合
SQLFeatureNotSupportedException
- JDBC ドライバが定数 Statement.RETURN_GENERATED_KEYS を指定したこのメソッドをサポートしない場合getResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
boolean execute(String sql, int[] columnIndexes) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができる SQL 文でない場合、ドライバは配列を無視します。
いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャーを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。
execute
メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet
または getUpdateCount
メソッドを使用して結果を取得します。 そして、getMoreResults
により引き続き任意の結果の取得 (複数可) に移動します。
sql
- 任意の SQL 文columnIndexes
- getGeneratedKeys
メソッドの呼び出しによって検索可能にされる挿入行の列インデックスの配列
ResultSet
オブジェクトの場合は true
。更新カウントであるか、または結果がない場合は false
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、またはこのメソッドに渡された int
配列の要素が有効な列インデックスではない場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合getResultSet()
,
getUpdateCount()
,
getMoreResults()
boolean execute(String sql, String[] columnNames) throws SQLException
INSERT
文でない場合、または自動生成キーを返すことができる SQL 文でない場合、ドライバは配列を無視します。
いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャーを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。
execute
メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet
または getUpdateCount
メソッドを使用して結果を取得します。 そして、getMoreResults
により引き続き任意の結果の取得 (複数可) に移動します。
sql
- 任意の SQL 文columnNames
- getGeneratedKeys
メソッドの呼び出しによって検索可能にされる挿入行の列名の配列
ResultSet
オブジェクトの場合は true
。更新カウントであるか、または結果がない場合は false
SQLException
- データベースアクセスエラーが発生した場合、このメソッドがクローズされた Statement
で呼び出された場合、またはこのメソッドに渡された String
配列の要素が有効な列名ではない場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合getResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
int getResultSetHoldability() throws SQLException
Statement
オブジェクトから生成された ResultSet
オブジェクトの結果セットの保持機能を取得します。
ResultSet.HOLD_CURSORS_OVER_COMMIT
または ResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException
- データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた Statement
について呼び出された場合boolean isClosed() throws SQLException
Statement
オブジェクトがクローズされているかどうかを取得します。Statement
で close メソッドが呼び出されるか、または自動的にクローズされる場合、このオブジェクトはクローズされます。
Statement
オブジェクトがクローズされている場合は true、まだオープンの状態の場合は false
SQLException
- データベースアクセスエラーが発生した場合void setPoolable(boolean poolable) throws SQLException
Statement
をプールすること、またはプールしないことを要求します。指定された値は、文のプール実装のヒントで、アプリケーションで文がプールされる必要があるかどうかを示します。ヒントが使用されるかどうかは、文のプール管理プログラムによって異なります。
文のプール可能な値は、ドライバによって実装される内部文キャッシュと、アプリケーションサーバーやその他のアプリケーションによって実装される外部文キャッシュの両方に適用されます。
デフォルトで、Statement
は作成時にプール可能ではありませんが、PreparedStatement
および CallableStatement
は作成時にプール可能です。
poolable
- true の場合は文をプールすること、false の場合は文をプールしないことを要求する
SQLException
- このメソッドがクローズされた Statement
で呼び出された場合 boolean isPoolable() throws SQLException
Statement
がプール可能かどうかを示す値を返します。
Statement
がプール可能な場合は true
、そうでない場合は false
SQLException
- このメソッドがクローズされた Statement
で呼び出された場合 setPoolable(boolean)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。