JavaTM 2 Platform
Standard Ed. 5.0

java.sql
インタフェース Statement

既知のサブインタフェースの一覧:
CallableStatement, PreparedStatement

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 オブジェクトに関する呼び出しによって報告される最初の警告を取得します。
 void setCursorName(String name)
          後続の Statement オブジェクトの execute メソッドによって使用される SQL カーソル名を指定された String に設定します。
 void setEscapeProcessing(boolean enable)
          エスケープの処理をオンまたはオフに設定します。
 void setFetchDirection(int direction)
          Statement オブジェクトを使用して作成された ResultSet オブジェクトの行が処理される方向についてのヒントをドライバに提供します。
 void setFetchSize(int rows)
          より多くの行が必要なときに、データベースから取り出す必要がある行数についてのヒントを JDBC ドライバに提供します。
 void setMaxFieldSize(int max)
          文字またはバイナリの値を格納する ResultSet 列に対する最大バイト数の制限値を、指定されたバイト数に設定します。
 void setMaxRows(int max)
          任意の ResultSet オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。
 void setQueryTimeout(int seconds)
          ドライバが Statement オブジェクトの実行を待つ秒数を、指定された秒数に設定します。
 

フィールドの詳細

CLOSE_CURRENT_RESULT

static final int CLOSE_CURRENT_RESULT
getMoreResults が呼び出されたときに、現在の ResultSet オブジェクトがクローズされることを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値

KEEP_CURRENT_RESULT

static final int KEEP_CURRENT_RESULT
getMoreResults が呼び出されたときに、現在の ResultSet オブジェクトがクローズされないことを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値

CLOSE_ALL_RESULTS

static final int CLOSE_ALL_RESULTS
getMoreResults が呼び出されたときに、直前までオープンされていたすべての ResultSet オブジェクトがクローズされることを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値

SUCCESS_NO_INFO

static final int SUCCESS_NO_INFO
バッチ文が正常に実行されたが、影響を受けた行数が不明なことを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値

EXECUTE_FAILED

static final int EXECUTE_FAILED
バッチ文の実行中にエラーが発生したことを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値

RETURN_GENERATED_KEYS

static final int RETURN_GENERATED_KEYS
生成されたキーが検索可能にされることを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値

NO_GENERATED_KEYS

static final int NO_GENERATED_KEYS
生成されたキーが検索可能にされないことを示す定数です。

導入されたバージョン:
1.4
関連項目:
定数フィールド値
メソッドの詳細

executeQuery

ResultSet executeQuery(String sql)
                       throws SQLException
単一の ResultSet オブジェクトを返す、指定された SQL 文を実行します。

パラメータ:
sql - データベースに送られる SQL 文。通常静的 SQL SELECT
戻り値:
指定されたクエリーによって作成されたデータを含む ResultSet オブジェクト。null にはならない
例外:
SQLException - データベースアクセスエラーが発生した場合、または指定された SQL 文が単一の ResultSet オブジェクト以外のものを生成する場合

executeUpdate

int executeUpdate(String sql)
                  throws SQLException
指定された SQL 文を実行します。SQL 文は、INSERT 文、UPDATE 文、DELETE 文、または SQL DDL 文のような何も返さない SQL 文の場合があります。

パラメータ:
sql - SQL INSERT 文、UPDATE 文、または DELETE 文、あるいは何も返さない SQL 文
戻り値:
INSERT 文、UPDATE 文、DELETE 文の場合は行数。何も返さない SQL 文の場合は 0
例外:
SQLException - データベースアクセスエラーが発生した場合、または指定された SQL 文が ResultSet オブジェクトを生成する場合

close

void close()
           throws SQLException
自動的にクローズされるときに Statement オブジェクトのデータベースと JDBC リソースが解放されるのを待つのではなく、ただちにそれらを解放します。データベースのリソースを占有するのを避けるために、通常は、作業が終了したらすぐにリソースを解放するようにしてください。

すでにクローズされた Statement オブジェクトで close メソッドを呼び出すと、操作は行われません。

注: Statement オブジェクトは、ガベージコレクトされるときは自動的にクローズされます。Statement オブジェクトがクローズされるとき、その現在の ResultSet オブジェクトが存在すれば、それもクローズされます。

例外:
SQLException - データベースアクセスエラーが発生した場合

getMaxFieldSize

int getMaxFieldSize()
                    throws SQLException
この Statement オブジェクトによって生成される ResultSet オブジェクトの文字およびバイナリの各列値に対し返される最大バイト数を取得します。この制限値は、BINARYVARBINARYLONGVARBINARYCHARVARCHAR、および LONGVARCHAR の各列にだけ適用されます。制限値を超えたデータは通知なしに破棄されます。

戻り値:
文字値およびバイナリ値を格納する列に対する現在の列サイズの制限値。ゼロは無制限を意味する
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
setMaxFieldSize(int)

setMaxFieldSize

void setMaxFieldSize(int max)
                     throws SQLException
文字またはバイナリの値を格納する ResultSet 列に対する最大バイト数の制限値を、指定されたバイト数に設定します。この制限値は、BINARYVARBINARYLONGVARBINARYCHARVARCHARLONGVARCHAR の各フィールドだけに適用されます。制限値を超えたデータは通知なしに破棄されます。移植性を最大限にするには、256 より大きい値を使用します。

パラメータ:
max - バイト単位の新しい列サイズの制限値。ゼロは無制限を意味する
例外:
SQLException - データベースアクセスエラーが発生した場合、または条件 max >= 0 が満たされない場合
関連項目:
getMaxFieldSize()

getMaxRows

int getMaxRows()
               throws SQLException
この Statement オブジェクトによって生成される ResultSet オブジェクトが含むことのできる最大の行数を取得します。制限値を超えた行は通知なしに除外されます。

戻り値:
この Statement オブジェクトによって生成される ResultSet オブジェクトの現在の最大行数。ゼロは無制限を意味する
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
setMaxRows(int)

setMaxRows

void setMaxRows(int max)
                throws SQLException
任意の ResultSet オブジェクトが含むことのできる最大行数の制限値を、指定された数に設定します。制限値を超えた行は通知なしに除外されます。

パラメータ:
max - 新しい最大行数の制限値。ゼロは無制限を意味する
例外:
SQLException - データベースアクセスエラーが発生した場合、または条件 max >= 0 が満たされない場合
関連項目:
getMaxRows()

setEscapeProcessing

void setEscapeProcessing(boolean enable)
                         throws SQLException
エスケープの処理をオンまたはオフに設定します。エスケープスキャンニングがオンの場合 (デフォルト)、ドライバは SQL 文をデータベースに送る前にエスケープ置き換えを実行します。 注: 用意された文は、通常呼び出す前に構文解析されているので、PreparedStatement オブジェクトに対するエスケープ処理を無効にしても効果はありません。

パラメータ:
enable - エスケープ処理を有効にする場合は true、無効にする場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合

getQueryTimeout

int getQueryTimeout()
                    throws SQLException
ドライバが Statement オブジェクトの実行を待つ秒数を取得します。この時間を経過すると、SQLException がスローされます。

戻り値:
現在のクエリータイムアウトの制限値の秒数。ゼロは無制限を意味する
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
setQueryTimeout(int)

setQueryTimeout

void setQueryTimeout(int seconds)
                     throws SQLException
ドライバが Statement オブジェクトの実行を待つ秒数を、指定された秒数に設定します。この時間を経過すると、SQLException がスローされます。

パラメータ:
seconds - 新しいクエリータイムアウトの制限値の秒数。ゼロは無制限を意味する
例外:
SQLException - データベースアクセスエラーが発生した場合、または条件 seconds >= 0 が満たされない場合
関連項目:
getQueryTimeout()

cancel

void cancel()
            throws SQLException
DBMS およびドライバの両方が SQL 文の終了をサポートする場合に、この Statement オブジェクトを取り消します。このメソッドは、1 つのスレッドが別のスレッドによって実行中の文を取り消すのに使用できます。

例外:
SQLException - データベースアクセスエラーが発生した場合

getWarnings

SQLWarning getWarnings()
                       throws SQLException
この Statement オブジェクトに関する呼び出しによって報告される最初の警告を取得します。後続の Statement オブジェクトの警告は、この SQLWarning オブジェクトにチェーンされます。

警告チェーンは、文が (再) 実行されるたびに自動的にクリアされます。このメソッドはクローズされた Statement オブジェクトの呼び出しには使用しません。使用すると SQLException がスローされます。

注: ResultSet オブジェクトを処理中の場合、ResultSet オブジェクトの読み込みに関連する警告はそのオブジェクトを生成した Statement オブジェクトではなくすべて ResultSet オブジェクトにチェーンされます。

戻り値:
最初の SQLWarning オブジェクト。警告がない場合は null
例外:
SQLException - データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた文で呼び出された場合

clearWarnings

void clearWarnings()
                   throws SQLException
この Statement オブジェクトに関して報告されたすべての警告をクリアします。このメソッドの呼び出しのあと、この Statement オブジェクトに対する新しい警告が通知されるまで、getWarnings メソッドは null を返します。

例外:
SQLException - データベースアクセスエラーが発生した場合

setCursorName

void setCursorName(String name)
                   throws SQLException
後続の Statement オブジェクトの execute メソッドによって使用される SQL カーソル名を指定された String に設定します。この名前は、SQL で位置決めされた更新文または削除文で使用され、この文で生成された ResultSet オブジェクト内の現在の行を識別できます。データベースが位置決めされた更新または削除をサポートしていない場合、このメソッドは何も実行しません。カーソルが更新をサポートする適切な遮断レベルを持つことが保証されるためには、カーソルの SELECT 文は SELECT FOR UPDATE 形式である必要があります。FOR UPDATE が存在しない場合、位置決めされた更新は失敗します。

注: 定義により、位置決めされた更新または削除の実行は、位置決めに使用中の ResultSet オブジェクトを生成した Statement オブジェクトとは異なる Statement オブジェクトによって実行される必要があります。さらに、カーソル名は接続内で一意にする必要があります。

パラメータ:
name - 新しいカーソル名。接続内で一意にする必要がある
例外:
SQLException - データベースアクセスエラーが発生した場合

execute

boolean execute(String sql)
                throws SQLException
複数の結果を返す可能性のある指定された SQL 文を実行します。いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。

execute メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet または getUpdateCount メソッドを使用して結果を取得します。そして、getMoreResults により引き続き任意の結果の取得 (複数可) に移動します。

パラメータ:
sql - 任意の SQL 文
戻り値:
最初の結果が ResultSet オブジェクトの場合は true。更新カウントであるか、または結果がない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
getResultSet(), getUpdateCount(), getMoreResults()

getResultSet

ResultSet getResultSet()
                       throws SQLException
ResultSet オブジェクトとして現在の結果を取得します。このメソッドは、1 つの結果につき 1 回だけ呼び出さなければなりません。

戻り値:
ResultSet オブジェクトとしての現在の結果。更新カウントであるか、または結果がない場合は null
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
execute(java.lang.String)

getUpdateCount

int getUpdateCount()
                   throws SQLException
更新カウントとして現在の結果を取得します。結果が ResultSet オブジェクトであるか、または結果がない場合は -1 を返します。このメソッドは、1 つの結果につき 1 回だけ呼び出す必要があります。

戻り値:
更新カウントしての現在の結果。現在の結果が ResultSet オブジェクトであるか、または結果がない場合は -1
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
execute(java.lang.String)

getMoreResults

boolean getMoreResults()
                       throws SQLException
Statement オブジェクトの次の結果に移動します。この結果が ResultSet オブジェクトの場合は true を返し、getResultSet メソッドで得られた現在の ResultSet オブジェクトをすべて暗黙にクローズします。

次に該当する場合、結果はありません。

 // stmt is a Statement object ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1)) 

戻り値:
次の結果が ResultSet オブジェクトの場合は true。更新カウントであるか、または結果がない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
execute(java.lang.String)

setFetchDirection

void setFetchDirection(int direction)
                       throws SQLException
Statement オブジェクトを使用して作成された ResultSet オブジェクトの行が処理される方向についてのヒントをドライバに提供します。デフォルト値は ResultSet.FETCH_FORWARD です。

このメソッドは、この Statement オブジェクトによって生成される結果セットのデフォルトのフェッチ方向を設定します。各結果セットは、それ自身のフェッチ方向を取得および設定するための独自のメソッドを持ちます。

パラメータ:
direction - 行を処理する初期方向
例外:
SQLException - データベースアクセスエラーが発生した場合、または指定された方向が ResultSet.FETCH_FORWARDResultSet.FETCH_REVERSE、または ResultSet.FETCH_UNKNOWN のどれでもない場合
導入されたバージョン:
1.2
関連項目:
getFetchDirection()

getFetchDirection

int getFetchDirection()
                      throws SQLException
この Statement オブジェクトから生成された結果セットのデフォルトである、データベーステーブルから行をフェッチする方向を取得します。この Statement オブジェクトが setFetchDirection メソッドを呼び出してフェッチ方向を設定していない場合、戻り値は実装に依存します。

戻り値:
この Statement オブジェクトから生成された結果セットのデフォルトのフェッチ方向
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
setFetchDirection(int)

setFetchSize

void setFetchSize(int rows)
                  throws SQLException
より多くの行が必要なときに、データベースから取り出す必要がある行数についてのヒントを JDBC ドライバに提供します。指定された行数は、この Statement を使って作成された結果セットにだけ影響します。指定された値が 0 の場合、ヒントは無視されます。デフォルト値は 0 です。

パラメータ:
rows - フェッチする行数
例外:
SQLException - データベースアクセスエラーが発生した場合、または条件 0 <= rows <= this.getMaxRows() が満たされない場合
導入されたバージョン:
1.2
関連項目:
getFetchSize()

getFetchSize

int getFetchSize()
                 throws SQLException
この Statement オブジェクトから生成された ResultSet オブジェクトのデフォルトのフェッチサイズである、結果セットの行数を取得します。この Statement オブジェクトが setFetchSize メソッドを呼び出してフェッチサイズを設定していない場合、戻り値は実装に依存します。

戻り値:
この Statement オブジェクトから生成された結果セットのデフォルトのフェッチサイズ
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
setFetchSize(int)

getResultSetConcurrency

int getResultSetConcurrency()
                            throws SQLException
この Statement オブジェクトから生成された ResultSet オブジェクトの結果セットの並行性を取得します。

戻り値:
ResultSet.CONCUR_READ_ONLY または ResultSet.CONCUR_UPDATABLE
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2

getResultSetType

int getResultSetType()
                     throws SQLException
この Statement オブジェクトから生成された ResultSet オブジェクトの結果セットの型を取得します。

戻り値:
ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、または ResultSet.TYPE_SCROLL_SENSITIVE のうちの 1 つ
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2

addBatch

void addBatch(String sql)
              throws SQLException
この Statement オブジェクトの現在のコマンドのリストに指定された SQL コマンドを追加します。このリストのコマンドは executeBatch メソッドを呼び出すことにより、バッチとして実行できます。

注: このメソッドはオプションです。

パラメータ:
sql - 通常静的 SQL INSERT 文、または UPDATE
例外:
SQLException - データベースアクセスエラーが発生した場合、またはドライバがバッチ更新をサポートしていない場合
導入されたバージョン:
1.2
関連項目:
executeBatch()

clearBatch

void clearBatch()
                throws SQLException
この Statement オブジェクトの現在の SQL コマンドリストを空にします。

注: このメソッドはオプションです。

例外:
SQLException - データベースアクセスエラーが発生した場合、またはドライバがバッチ更新をサポートしていない場合
導入されたバージョン:
1.2
関連項目:
addBatch(java.lang.String)

executeBatch

int[] executeBatch()
                   throws SQLException
コマンドのバッチをデータベースに送信して実行し、すべてのコマンドが正常に実行されると、更新カウントの配列を返します。返される配列の int 要素は、バッチ内のコマンドに対応して返され順序付けられます。つまり、バッチに追加された順序に従って順序付けられます。メソッド executeBatch によって返される配列内の要素は、次のどれか 1 つに該当します。
  1. ゼロ以上の数値 -- コマンドが正常に処理されたことを示し、コマンドの実行によって影響を受けたデータベース内の行数を指定する更新カウント
  2. SUCCESS_NO_INFO の値 -- コマンドが正常に処理されたが、影響を受けた行数が不明なことを示す

    バッチ更新内のコマンドの 1 つが正常に実行できなかった場合、このメソッドは BatchUpdateException をスローし、JDBC ドライバはバッチ内の残りのコマンドの処理を継続することも、中止することもできます。ただし、ドライバの動作は特定の DBMS と一貫性を保つ必要があり、常にコマンドの処理を継続するか、あるいは継続しないかのどちらかになります。失敗後、ドライバが処理を継続する場合は、BatchUpdateException.getUpdateCounts メソッドで返される配列には、バッチ内のコマンドと同じ数の要素が格納され、それらの要素の 1 つ以上が次に該当します。

  3. EXECUTE_FAILED の値 -- 失敗したコマンドが正常に実行されたことを示し、コマンドが失敗したあとに、ドライバがコマンドの処理を継続した場合に限り発生する

ドライバはこのメソッドを実装する必要はありません。Java 2 SDK, Standard Edition, バージョン 1.3 では、使用できる実装および戻り値が修正されて、BatchUpdateException オブジェクトがスローされたあとにバッチ更新内のコマンドの処理を継続できるオプションが用意されています。

戻り値:
バッチ内のコマンドごとに 1 つの要素が格納されている更新カウントの配列。配列の要素はコマンドがバッチに追加された順序で並べられる
例外:
SQLException - データベースアクセスエラーが発生した場合、またはドライバがバッチ文をサポートしない場合。データベースに送信されたコマンドの 1 つが正常に実行されなかった場合や、結果セットを返そうとすると BatchUpdateException (SQLException のサブクラス) がスローされる
導入されたバージョン:
1.3

getConnection

Connection getConnection()
                         throws SQLException
この Statement オブジェクトを生成した Connection オブジェクトを取得します。

戻り値:
この文を生成した接続
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2

getMoreResults

boolean getMoreResults(int current)
                       throws SQLException
Statement オブジェクトの次の結果に移動します。指定されたフラグによって指定された命令に従ってすべての現在の ResultSet オブジェクトを処理し、次の結果が ResultSet オブジェクトの場合は true を返します。

次に該当する場合、結果はありません。

 // stmt is a Statement object ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1)) 

パラメータ:
current - getResultSet を使用して取得した現在の ResultSet オブジェクトに生じる状態を示す Statement 定数。Statement.CLOSE_CURRENT_RESULTStatement.KEEP_CURRENT_RESULTStatement.CLOSE_ALL_RESULTS のうちの 1 つ
戻り値:
次の結果が ResultSet オブジェクトの場合は true。更新カウントであるか、または結果がない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合、あるいは指定された引数が Statement.CLOSE_CURRENT_RESULTStatement.KEEP_CURRENT_RESULTStatement.CLOSE_ALL_RESULTS のいずれかではない場合
導入されたバージョン:
1.4
関連項目:
execute(java.lang.String)

getGeneratedKeys

ResultSet getGeneratedKeys()
                           throws SQLException
この Statement オブジェクトを実行した結果として作成された自動生成キーを取得します。この Statement オブジェクトがキーを生成しなかった場合は、空の ResultSet オブジェクトが返されます。

戻り値:
この Statement オブジェクトの実行で生成された自動生成キーを含む ResultSet オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.4

executeUpdate

int executeUpdate(String sql,
                  int autoGeneratedKeys)
                  throws SQLException
指定された SQL 文を実行し、この Statement オブジェクトによって生成された自動生成キーを検索可能にするかどうかについて指定されたフラグでドライバに通知します。

パラメータ:
sql - SQL INSERT 文、UPDATE 文、または DELETE 文、あるいは何も返さない SQL 文でなければならない
autoGeneratedKeys - 自動生成キーが検索可能にされるかどうかを示すフラグ。定数 Statement.RETURN_GENERATED_KEYS または Statement.NO_GENERATED_KEYS
戻り値:
INSERT 文、UPDATE 文、DELETE 文の場合は行数。何も返さない SQL 文の場合は 0
例外:
SQLException - データベースアクセスエラーが発生した場合、指定された SQL 文が ResultSet オブジェクトを返す場合、または指定された定数が許可されていない場合
導入されたバージョン:
1.4

executeUpdate

int executeUpdate(String sql,
                  int[] columnIndexes)
                  throws SQLException
指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。SQL 文が INSERT 文でない場合、ドライバはその配列を無視します。

パラメータ:
sql - SQL INSERT 文、UPDATE 文、または DELETE 文、あるいは SQL DDL 文のような何も返さない SQL 文
columnIndexes - 挿入された行から返される列を示す列インデックスの配列
戻り値:
INSERT 文、UPDATE 文、DELETE 文の場合は行数。何も返さない SQL 文の場合は 0
例外:
SQLException - データベースアクセスエラーが発生した場合、SQL 文が ResultSet オブジェクトを返す場合、あるいはこのメソッドの第 2 引数に指定された値が有効な列インデックスを要素に持つ int 配列でない場合
導入されたバージョン:
1.4

executeUpdate

int executeUpdate(String sql,
                  String[] columnNames)
                  throws SQLException
指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。SQL 文が INSERT 文でない場合、ドライバはその配列を無視します。

パラメータ:
sql - SQL INSERT 文、UPDATE 文、または DELETE 文、あるいは何も返さない SQL 文
columnNames - 挿入された行から返される列の名前の配列
戻り値:
INSERT 文、UPDATE 文、DELETE 文の場合は行数。何も返さない SQL 文の場合は 0
例外:
SQLException - データベースアクセスエラーが発生した場合、SQL 文が ResultSet オブジェクトを返す場合、あるいはこのメソッドの第 2 引数に指定された値が有効な列名を要素に持つ String 配列でない場合
導入されたバージョン:
1.4

execute

boolean execute(String sql,
                int autoGeneratedKeys)
                throws SQLException
複数の結果を返す可能性のある指定された SQL 文を実行し、すべての自動生成キーを検索可能にするかどうかについてドライバに通知します。SQL 文が INSERT 文でない場合、ドライバはこの通知を無視します。

いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。

execute メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet または getUpdateCount メソッドを使用して結果を取得します。そして、getMoreResults により引き続き任意の結果の取得 (複数可) に移動します。

パラメータ:
sql - 任意の SQL 文
autoGeneratedKeys - getGeneratedKeys メソッドを使用して、自動生成キーを検索可能にするかどうかを示す定数。定数 Statement.RETURN_GENERATED_KEYS または Statement.NO_GENERATED_KEYS
戻り値:
最初の結果が ResultSet オブジェクトの場合は true。更新カウントであるか、または結果がない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合、あるいはこのメソッドの第 2 引数に指定された値が Statement.RETURN_GENERATED_KEYS または Statement.NO_GENERATED_KEYS でない場合
導入されたバージョン:
1.4
関連項目:
getResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()

execute

boolean execute(String sql,
                int[] columnIndexes)
                throws SQLException
複数の結果を返す可能性のある指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。この配列は検索可能にされる自動生成キーを含むターゲットテーブルの列のインデックスを含みます。指定された SQL 文が INSERT 文でない場合、ドライバはその配列を無視します。

いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。

execute メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet または getUpdateCount メソッドを使用して結果を取得します。そして、getMoreResults により引き続き任意の結果の取得 (複数可) に移動します。

パラメータ:
sql - 任意の SQL 文
columnIndexes - getGeneratedKeys メソッドの呼び出しによって検索可能にされる挿入行の列インデックスの配列
戻り値:
最初の結果が ResultSet オブジェクトの場合は true。更新カウントであるか、または結果がない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合、あるいはこのメソッドに渡された int 配列の要素が有効な列インデックスでない場合
導入されたバージョン:
1.4
関連項目:
getResultSet(), getUpdateCount(), getMoreResults()

execute

boolean execute(String sql,
                String[] columnNames)
                throws SQLException
複数の結果を返す可能性のある指定された SQL 文を実行し、指定された配列で示された自動生成キーを検索可能にするかどうかについてドライバに通知します。この配列は検索可能にされる自動生成キーを含むターゲットテーブルの列の名前を含みます。指定された SQL 文が INSERT 文でない場合、ドライバはその配列を無視します。

いくつかの (普通でない) 状況では、単一の SQL 文が複数の結果セットあるいは更新カウントを返すことがあります。複数の結果を返すことがあることがわかっているストアドプロシージャを実行中、または未知の SQL 文字列を動的に実行中でないかぎり、通常はこれを無視できます。

execute メソッドは、SQL 文を実行し最初の結果の形式を示します。次に、getResultSet または getUpdateCount メソッドを使用して結果を取得します。そして、getMoreResults により引き続き任意の結果の取得 (複数可) に移動します。

パラメータ:
sql - 任意の SQL 文
columnNames - getGeneratedKeys メソッドの呼び出しによって検索可能にされる挿入行の列名の配列
戻り値:
次の結果が ResultSet オブジェクトの場合は true。更新カウントであるか、または結果がない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合、あるいはこのメソッドに渡された String 配列の要素が有効な列名でない場合
導入されたバージョン:
1.4
関連項目:
getResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()

getResultSetHoldability

int getResultSetHoldability()
                            throws SQLException
この Statement オブジェクトから生成された ResultSet オブジェクトの結果セットの保持機能を取得します。

戻り値:
ResultSet.HOLD_CURSORS_OVER_COMMIT または ResultSet.CLOSE_CURSORS_AT_COMMIT
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.4

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。