public interface PreparedStatement extends Statement
SQL文は、プリコンパイルされ、PreparedStatementオブジェクトに格納されます。 その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。
ノート: INパラメータ値を設定する設定機能メソッド(setShort、setStringなど)は、入力パラメータの定義されたSQL型と互換のある型を指定する必要があります。 たとえば、INパラメータがINTEGERというSQL型の場合、setIntメソッドを使用するようにしてください。
任意のパラメータ型変換が必要な場合は、目的のSQL型を指定してsetObjectメソッドを使用するようにしてください。
パラメータ設定の例を次に示します。conはアクティブな接続を表します。
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO| 修飾子と型 | メソッド | 説明 |
|---|---|---|
void |
addBatch() |
この
PreparedStatementオブジェクトのコマンドのバッチに、パラメータのセットを追加します。 |
void |
clearParameters() |
現在のパラメータ値をすぐにクリアします。
|
boolean |
execute() |
この
PreparedStatementオブジェクトの、あらゆる種類のSQL文を実行します。 |
default long |
executeLargeUpdate() |
この
PreparedStatementオブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT文、UPDATE文、DELETE文など)であるか、DDL文のような何も返さないSQL文でなければなりません。 |
ResultSet |
executeQuery() |
この
PreparedStatementオブジェクトのSQLクエリーを実行し、そのクエリーによって生成されたResultSetオブジェクトを返します。 |
int |
executeUpdate() |
この
PreparedStatementオブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT文、UPDATE文、DELETE文など)であるか、DDL文のような何も返さないSQL文でなければなりません。 |
ResultSetMetaData |
getMetaData() |
この
PreparedStatementオブジェクトが実行されるときに返されるResultSetオブジェクトの列に関する情報を格納するResultSetMetaDataオブジェクトを取得します。 |
ParameterMetaData |
getParameterMetaData() |
この
PreparedStatementオブジェクトのパラメータの数、型、およびプロパティを取得します。 |
void |
setArray(int parameterIndex, Array x) |
指定されたパラメータを指定された
java.sql.Arrayオブジェクトに設定します。 |
void |
setAsciiStream(int parameterIndex, InputStream x) |
指定されたパラメータを指定された入力ストリームに設定します。
|
void |
setAsciiStream(int parameterIndex, InputStream x, int length) |
指定されたパラメータを、指定されたバイト数を持つ指定された入力ストリームに設定します。
|
void |
setAsciiStream(int parameterIndex, InputStream x, long length) |
指定されたパラメータを、指定されたバイト数を持つ指定された入力ストリームに設定します。
|
void |
setBigDecimal(int parameterIndex, BigDecimal x) |
指定されたパラメータを、指定された
java.math.BigDecimal値に設定します。 |
void |
setBinaryStream(int parameterIndex, InputStream x) |
指定されたパラメータを指定された入力ストリームに設定します。
|
void |
setBinaryStream(int parameterIndex, InputStream x, int length) |
指定されたパラメータを、指定されたバイト数を持つ指定された入力ストリームに設定します。
|
void |
setBinaryStream(int parameterIndex, InputStream x, long length) |
指定されたパラメータを、指定されたバイト数を持つ指定された入力ストリームに設定します。
|
void |
setBlob(int parameterIndex, Blob x) |
指定されたパラメータを指定された
java.sql.Blobオブジェクトに設定します。 |
void |
setBlob(int parameterIndex, InputStream inputStream) |
指定されたパラメータを
InputStreamオブジェクトに設定します。 |
void |
setBlob(int parameterIndex, InputStream inputStream, long length) |
指定されたパラメータを
InputStreamオブジェクトに設定します。 |
void |
setBoolean(int parameterIndex, boolean x) |
指定されたパラメータを指定されたJavaの
boolean値に設定します。 |
void |
setByte(int parameterIndex, byte x) |
指定されたパラメータを指定されたJavaの
byte値に設定します。 |
void |
setBytes(int parameterIndex, byte[] x) |
指定されたパラメータを指定されたJavaのバイト配列に設定します。
|
void |
setCharacterStream(int parameterIndex, Reader reader) |
指定されたパラメータを指定された
Readerオブジェクトに設定します。 |
void |
setCharacterStream(int parameterIndex, Reader reader, int length) |
指定されたパラメータを、指定された文字数である指定された
Readerオブジェクトに設定します。 |
void |
setCharacterStream(int parameterIndex, Reader reader, long length) |
指定されたパラメータを、指定された文字数である指定された
Readerオブジェクトに設定します。 |
void |
setClob(int parameterIndex, Clob x) |
指定されたパラメータを指定された
java.sql.Clobオブジェクトに設定します。 |
void |
setClob(int parameterIndex, Reader reader) |
指定されたパラメータを
Readerオブジェクトに設定します。 |
void |
setClob(int parameterIndex, Reader reader, long length) |
指定されたパラメータを
Readerオブジェクトに設定します。 |
void |
setDate(int parameterIndex, Date x) |
アプリケーションを実行している仮想マシンのデフォルトのタイムゾーンを使用して、指定されたパラメータを指定された
java.sql.Date値に設定します。 |
void |
setDate(int parameterIndex, Date x, Calendar cal) |
指定された
Calendarオブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Date値に設定します。 |
void |
setDouble(int parameterIndex, double x) |
指定されたパラメータを指定されたJavaの
double値に設定します。 |
void |
setFloat(int parameterIndex, float x) |
指定されたパラメータを指定されたJavaの
float値に設定します。 |
void |
setInt(int parameterIndex, int x) |
指定されたパラメータを指定されたJavaの
int値に設定します。 |
void |
setLong(int parameterIndex, long x) |
指定されたパラメータを指定されたJavaの
long値に設定します。 |
void |
setNCharacterStream(int parameterIndex, Reader value) |
指定されたパラメータを
Readerオブジェクトに設定します。 |
void |
setNCharacterStream(int parameterIndex, Reader value, long length) |
指定されたパラメータを
Readerオブジェクトに設定します。 |
void |
setNClob(int parameterIndex, NClob value) |
指定されたパラメータを
java.sql.NClobオブジェクトに設定します。 |
void |
setNClob(int parameterIndex, Reader reader) |
指定されたパラメータを
Readerオブジェクトに設定します。 |
void |
setNClob(int parameterIndex, Reader reader, long length) |
指定されたパラメータを
Readerオブジェクトに設定します。 |
void |
setNString(int parameterIndex, String value) |
指定されたパラメータを指定された
Stringオブジェクトに設定します。 |
void |
setNull(int parameterIndex, int sqlType) |
指定されたパラメータをSQL
NULLに設定します。 |
void |
setNull(int parameterIndex, int sqlType, String typeName) |
指定されたパラメータをSQL
NULLに設定します。 |
void |
setObject(int parameterIndex, Object x) |
指定されたパラメータの値を、指定されたオブジェクトを使用して設定します。
|
void |
setObject(int parameterIndex, Object x, int targetSqlType) |
指定されたパラメータの値を、指定されたオブジェクトで設定します。
|
void |
setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) |
指定されたパラメータの値を、指定されたオブジェクトで設定します。
|
default void |
setObject(int parameterIndex, Object x, SQLType targetSqlType) |
指定されたパラメータの値を、指定されたオブジェクトで設定します。
|
default void |
setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) |
指定されたパラメータの値を、指定されたオブジェクトで設定します。
|
void |
setRef(int parameterIndex, Ref x) |
指定されたパラメータを、指定された
REF(<structured-type>)値に設定します。 |
void |
setRowId(int parameterIndex, RowId x) |
指定されたパラメータを指定された
java.sql.RowIdオブジェクトに設定します。 |
void |
setShort(int parameterIndex, short x) |
指定されたパラメータを指定されたJavaの
short値に設定します。 |
void |
setSQLXML(int parameterIndex, SQLXML xmlObject) |
指定されたパラメータを指定された
java.sql.SQLXMLオブジェクトに設定します。 |
void |
setString(int parameterIndex, String x) |
指定されたパラメータを指定されたJavaの
String値に設定します。 |
void |
setTime(int parameterIndex, Time x) |
指定されたパラメータを、指定された
java.sql.Time値に設定します。 |
void |
setTime(int parameterIndex, Time x, Calendar cal) |
指定された
Calendarオブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Time値に設定します。 |
void |
setTimestamp(int parameterIndex, Timestamp x) |
指定されたパラメータを、指定された
java.sql.Timestamp値に設定します。 |
void |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal) |
指定された
Calendarオブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Timestamp値に設定します。 |
void |
setUnicodeStream(int parameterIndex, InputStream x, int length) |
非推奨。
setCharacterStreamを使用してください。 |
void |
setURL(int parameterIndex, URL x) |
指定されたパラメータを、指定された
java.net.URL値に設定します。 |
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeoutisWrapperFor, unwrapResultSet executeQuery() throws SQLException
PreparedStatementオブジェクトのSQLクエリーを実行し、そのクエリーによって生成されたResultSetオブジェクトを返します。ResultSetオブジェクト。nullにはならないSQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはSQL文がResultSetオブジェクトを返さない場合SQLTimeoutException - ドライバが、setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたときint executeUpdate()
throws SQLException
PreparedStatementオブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT文、UPDATE文、DELETE文など)であるか、DDL文のような何も返さないSQL文でなければなりません。SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはSQL文がResultSetオブジェクトを返した場合SQLTimeoutException - ドライバが、setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたときvoid setNull(int parameterIndex,
int sqlType)
throws SQLException
NULLに設定します。
ノート: パラメータのSQLの型を指定する必要があります。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるsqlType - java.sql.Typesで定義されるSQL型コードSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - sqlTypeのデータ型が、ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML、またはSTRUCTで、JDBCドライバがこのデータ型をサポートしていない場合void setBoolean(int parameterIndex,
boolean x)
throws SQLException
boolean値に設定します。 データベースに送るときに、ドライバはこれをSQL BITまたはBOOLEAN値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setByte(int parameterIndex,
byte x)
throws SQLException
byte値に設定します。 データベースに送るときに、ドライバはこれをSQL TINYINT値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setShort(int parameterIndex,
short x)
throws SQLException
short値に設定します。 データベースに送るときに、ドライバはこれをSQL SMALLINT値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setInt(int parameterIndex,
int x)
throws SQLException
int値に設定します。 データベースに送るときに、ドライバはこれをSQL INTEGER値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setLong(int parameterIndex,
long x)
throws SQLException
long値に設定します。 データベースに送るときに、ドライバはこれをSQL BIGINT値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setFloat(int parameterIndex,
float x)
throws SQLException
float値に設定します。 データベースに送るときに、ドライバはこれをSQL REAL値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setDouble(int parameterIndex,
double x)
throws SQLException
double値に設定します。 データベースに送るときに、ドライバはこれをSQL DOUBLE値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setBigDecimal(int parameterIndex,
BigDecimal x)
throws SQLException
java.math.BigDecimal値に設定します。 データベースに送るときに、ドライバはこれをSQL NUMERIC値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setString(int parameterIndex,
String x)
throws SQLException
String値に設定します。 データベースに送るときに、ドライバはこれをSQL VARCHARまたはLONGVARCHAR値(ドライバのVARCHAR値の制限に対する引数のサイズに依存)に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setBytes(int parameterIndex,
byte[] x)
throws SQLException
VARBINARYまたはLONGVARBINARY (ドライバのVARBINARY値の制限に対する引数のサイズに依存)に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setDate(int parameterIndex,
Date x)
throws SQLException
java.sql.Date値に設定します。 データベースに送るときに、ドライバはこれをSQL DATE値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setTime(int parameterIndex,
Time x)
throws SQLException
java.sql.Time値に設定します。 データベースに送るときに、ドライバはこれをSQL TIME値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setTimestamp(int parameterIndex,
Timestamp x)
throws SQLException
java.sql.Timestamp値に設定します。 データベースに送るときに、ドライバはこれをSQL TIMESTAMP値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setAsciiStream(int parameterIndex,
InputStream x,
int length)
throws SQLException
LONGVARCHARパラメータに非常に大きなASCII値が入力されるときには、java.io.InputStreamを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをASCIIからデータベースのchar形式に変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - ASCIIパラメータ値を含むJava入力ストリームlength - ストリームのバイト数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合@Deprecated void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
setCharacterStreamを使用してください LONGVARCHARパラメータに非常に大きなUnicode値が入力されるときには、java.io.InputStreamオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをUnicodeからデータベースのchar形式に変換します。 Unicodeストリームのバイト形式は、Java仮想マシン仕様に定義されているJava UTF-8である必要があります。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - Unicodeパラメータ値を含むjava.io.InputStreamオブジェクトlength - ストリームのバイト数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setBinaryStream(int parameterIndex,
InputStream x,
int length)
throws SQLException
LONGVARBINARYパラメータに非常に大きなバイナリ値が入力されるときには、java.io.InputStreamオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - バイナリ・パラメータ値を含むJava入力ストリームlength - ストリームのバイト数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void clearParameters()
throws SQLException
通常、文を繰返し使用するために、パラメータ値は強制的に残されます。 パラメータ値を設定すると、前の値は自動的にクリアされます。 しかし、現在のパラメータ値によって使用されたリソースをただちに解放した方が役に立つ場合があります。これは、clearParametersメソッドを呼び出して実行することができます。
SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementについて呼び出された場合void setObject(int parameterIndex,
Object x,
int targetSqlType)
throws SQLException
setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)に似ていますが、scaleに0を仮定している点が異なります。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - 入力パラメータ値を含むオブジェクトtargetSqlType - データベースに送られる(java.sql.Typesで定義される) SQL型SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバが指定されたtargetSqlTypeをサポートしない場合Typesvoid setObject(int parameterIndex,
Object x)
throws SQLException
指定されたパラメータの値を、指定されたオブジェクトを使用して設定します。
JDBCの仕様では、JavaのObject型からSQL型への標準マッピングを規定しています。 指定された引数は、データベースに送られる前に、対応するSQL型に変換されます。
このメソッドは、ドライバ固有のJava型を使用して、データベース固有の抽象データ型を渡すために使用することに注意してください。 オブジェクトがインタフェースSQLDataを実装するクラスのインスタンスである場合、JDBCドライバはSQLData.writeSQLメソッドを呼び出して、そのオブジェクトをSQLデータ・ストリームへ書き込む必要があります。 また、オブジェクトがRef、Blob、Clob、NClob、Struct、java.net.URL、RowId、SQLXML、またはArrayを実装するクラスのオブジェクトである場合、ドライバはこのオブジェクトを対応するSQL型の値としてデータベースに渡すべきです。
ノート: すべてのデータベースで、バックエンドに対する型のないNullの送信が許可されるわけではありません。 移植性を最大限にするには、setObject(int parameterIndex, Object x)の代わりにsetNullメソッドまたはsetObject(int parameterIndex, Object x, int sqlType)メソッドを使用するようにしてください。
ノート: たとえば、オブジェクトが上記のインタフェースを複数実装するクラスであるなど、あいまいさがある場合、このメソッドは例外をスローします。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - 入力パラメータ値を含むオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、または指定されたオブジェクトの型があいまいな場合boolean execute()
throws SQLException
PreparedStatementオブジェクトの、あらゆる種類のSQL文を実行します。 プリペアド文オブジェクトで用意された文には複数の結果を返すものがあります。executeメソッドは、executeQueryメソッドとexecuteUpdateメソッドによって処理される、より簡単な形式の文と同様に、複雑な文も処理します。
executeメソッドは、booleanを返し最初の結果の形式を示します。 getResultSetまたはgetUpdateCountメソッドを呼び出して結果を取得します。後続の結果がある場合はgetMoreResultsを呼び出してその結果に移動します。
ResultSetオブジェクトの場合はtrue。更新カウントであるか、または結果がない場合はfalseSQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、または引数がこのメソッドに指定された場合SQLTimeoutException - ドライバが、setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたときStatement.execute(java.lang.String), Statement.getResultSet(), Statement.getUpdateCount(), Statement.getMoreResults()void addBatch()
throws SQLException
PreparedStatementオブジェクトのコマンドのバッチに、パラメータのセットを追加します。SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementについて呼び出された場合Statement.addBatch(java.lang.String)void setCharacterStream(int parameterIndex,
Reader reader,
int length)
throws SQLException
Readerオブジェクトに設定します。 LONGVARCHARパラメータに非常に大きなUNICODE値が入力されるときには、java.io.Readerオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをUNICODEからデータベースのchar形式に変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるreader - Unicodeデータを格納するjava.io.Readerオブジェクトlength - ストリーム内の文字数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setRef(int parameterIndex,
Ref x)
throws SQLException
REF(<structured-type>)値に設定します。 データベースに送るときに、ドライバはこれをSQL REF値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - SQL REF値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setBlob(int parameterIndex,
Blob x)
throws SQLException
java.sql.Blobオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL BLOB値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - SQL BLOB値をマッピングするBlobオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setClob(int parameterIndex,
Clob x)
throws SQLException
java.sql.Clobオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL CLOB値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - SQL CLOB値をマッピングするClobオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setArray(int parameterIndex,
Array x)
throws SQLException
java.sql.Arrayオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL ARRAY値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - SQL ARRAY値をマッピングするArrayオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合ResultSetMetaData getMetaData() throws SQLException
PreparedStatementオブジェクトが実行されるときに返されるResultSetオブジェクトの列に関する情報を格納するResultSetMetaDataオブジェクトを取得します。
PreparedStatementオブジェクトはプリコンパイルされるので、実行せずに、返されるResultSetオブジェクトについて知ることが可能です。 したがって、PreparedStatementオブジェクトのgetMetaDataメソッドを呼び出すことができます。その実行を待ち、それから返されたResultSetオブジェクトに対してResultSet.getMetaDataメソッドを呼び出す必要はありません。
ノート: このメソッドの使用は、ドライバによっては基本となるDBMSサポートが不足しているため負荷が大きくなる場合があります。
ResultSetオブジェクトの列の記述、またはドライバがResultSetMetaDataオブジェクトを返すことができない場合はnullSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementについて呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setDate(int parameterIndex,
Date x,
Calendar cal)
throws SQLException
Calendarオブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Date値に設定します。 ドライバはCalendarオブジェクトを使用してSQL DATE値を作成し、続いてそれをデータベースに送ります。 Calendarオブジェクトを使用すると、ドライバはカスタム・タイムゾーンを考慮して日付を計算できます。 Calendarオブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンであるデフォルトのタイムゾーンを使用します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値cal - ドライバが日付を作成するために使用するCalendarオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setTime(int parameterIndex,
Time x,
Calendar cal)
throws SQLException
Calendarオブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Time値に設定します。 ドライバはCalendarオブジェクトを使用してSQL TIME値を作成し、続いてそれをデータベースに送ります。 Calendarオブジェクトを使用すると、ドライバはカスタム・タイムゾーンを考慮して時間を計算できます。 Calendarオブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンであるデフォルトのタイムゾーンを使用します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値cal - ドライバが時間を作成するために使用するCalendarオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
throws SQLException
Calendarオブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Timestamp値に設定します。 ドライバはCalendarオブジェクトを使用してSQL TIMESTAMP値を作成し、続いてそれをデータベースに送ります。 Calendarオブジェクトを使用すると、ドライバはカスタム・タイムゾーンを考慮してタイムスタンプを計算できます。 Calendarオブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンであるデフォルトのタイムゾーンを使用します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値cal - ドライバがタイムスタンプを作成するために使用するCalendarオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setNull(int parameterIndex,
int sqlType,
String typeName)
throws SQLException
NULLに設定します。 ユーザー定義型およびREF型のパラメータでは、このバージョンのsetNullメソッドを使用するべきです。 ユーザー定義型の例には、STRUCT、DISTINCT、JAVA_OBJECT、および名前付き配列があります。
ノート: 移植性を実現するためには、アプリケーションはNULLのユーザー定義パラメータまたはREFパラメータを指定するときにSQL型コードおよび完全指定のSQL型名を指定しなければいけません。 ユーザー定義型の場合、名前はパラメータ自体の型名です。 REFパラメータの場合、名前は参照される型の型名です。 JDBCドライバが型コードまたは型名の情報を必要としない場合、それは無視されます。 ユーザー定義パラメータおよびREFパラメータを対象としていますが、このメソッドは任意のJDBC型のnullパラメータを設定するために使用できます。 パラメータがユーザー定義の型またはREF型を持たない場合、指定されたtypeNameは無視されます。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるsqlType - java.sql.Typesからの値typeName - SQLユーザー定義型の完全指定の名前。パラメータがユーザー定義型でもREFでもない場合は無視されるSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - sqlTypeのデータ型が、ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML、またはSTRUCTで、JDBCドライバがこのデータ型をサポートしていない場合。またはJDBCドライバがこのメソッドをサポートしていない場合void setURL(int parameterIndex,
URL x)
throws SQLException
java.net.URL値に設定します。 データベースに送るときに、ドライバはこれをSQL DATALINK値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - 設定されるjava.net.URLオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatementオブジェクトのパラメータの数、型、およびプロパティを取得します。PreparedStatementオブジェクトの各パラメータ・マーカーの数、型、およびプロパティについての情報を格納するParameterMetaDataオブジェクトSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementについて呼び出された場合ParameterMetaDatavoid setRowId(int parameterIndex,
RowId x)
throws SQLException
java.sql.RowIdオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL ROWID値に変換します。 parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setNString(int parameterIndex,
String value)
throws SQLException
Stringオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL NCHAR、NVARCHAR、またはLONGNVARCHAR値(ドライバのNVARCHAR値の制限に対する引数のサイズに依存)に変換します。 parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるvalue - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setNCharacterStream(int parameterIndex,
Reader value,
long length)
throws SQLException
Readerオブジェクトに設定します。 Readerは、ファイルの終わりに達するまでデータを読み込みます。 ドライバは、必要に応じて、Javaの文字表現をデータベース内の各国文字セットに変換します。 parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるvalue - パラメータ値length - パラメータ・データ内の文字数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setNClob(int parameterIndex,
NClob value)
throws SQLException
java.sql.NClobオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL NCLOB値に変換します。 parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるvalue - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setClob(int parameterIndex,
Reader reader,
long length)
throws SQLException
Readerオブジェクトに設定します。 readerには、lengthで指定される文字数が含まれる必要があります。そうでない場合、PreparedStatementの実行時にSQLExceptionが生成されます。 このメソッドは、setCharacterStream (int, Reader, int)メソッドと異なり、パラメータ値をCLOBとしてサーバーに送信するべきであることをドライバに通知します。 setCharacterStreamメソッドを使用すると、ドライバは、パラメータ・データをLONGVARCHARとCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。 parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるreader - パラメータ値に設定されるデータを含むオブジェクトlength - パラメータ・データ内の文字数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、または指定されたlengthが0より小さい場合。SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setBlob(int parameterIndex,
InputStream inputStream,
long length)
throws SQLException
InputStreamオブジェクトに設定します。 inputStreamには、lengthで指定される文字数が含まれる必要があります。そうでない場合は、PreparedStatementの実行時にSQLExceptionが生成されます。 このメソッドは、setBinaryStream (int, InputStream, int)メソッドと異なり、パラメータ値をBLOBとしてサーバーに送信するべきであることをドライバに通知します。 setBinaryStreamメソッドを使用すると、ドライバは、パラメータ・データをLONGVARBINARYとBLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。 parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるinputStream - パラメータ値に設定されるデータを含むオブジェクトlength - パラメータ・データ内のバイト数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、指定されたlengthが0より小さい場合、またはinputStream内のバイト数が指定されたlengthに一致しない場合。SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setNClob(int parameterIndex,
Reader reader,
long length)
throws SQLException
Readerオブジェクトに設定します。 readerには、lengthで指定される文字数が含まれる必要があります。そうでない場合、PreparedStatementの実行時にSQLExceptionが生成されます。 このメソッドは、setCharacterStream (int, Reader, int)メソッドと異なり、パラメータ値をNCLOBとしてサーバーに送信するべきであることをドライバに通知します。 setCharacterStreamメソッドを使用すると、ドライバは、パラメータ・データをLONGNVARCHARとNCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。 parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるreader - パラメータ値に設定されるデータを含むオブジェクトlength - パラメータ・データ内の文字数SQLException - parameterIndexがSQL文のパラメータ・マーカーと対応していない場合、長さとしてゼロ未満の値が指定された場合、ドライバが各国文字セットをサポートしない場合、ドライバがデータ変換エラーが発生した可能性を検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setSQLXML(int parameterIndex,
SQLXML xmlObject)
throws SQLException
java.sql.SQLXMLオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL XML値に変換します。
parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるxmlObject - SQL XML値をマッピングするSQLXMLオブジェクトSQLException - parameterIndexが指定されたSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementまたはjava.xml.transform.Resultで呼び出された場合、WriterまたはOutputStreamがSQLXMLオブジェクトに対してクローズされていない場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setObject(int parameterIndex,
Object x,
int targetSqlType,
int scaleOrLength)
throws SQLException
指定されたパラメータの値を、指定されたオブジェクトで設定します。 2番目の引数がInputStreamである場合、ストリームにはscaleOrLengthで指定されるバイト数が含まれる必要があります。 2番目の引数がReaderである場合、リーダーにはscaleOrLengthで指定される文字数が含まれる必要があります。 これらの条件がtrueではない場合、準備された文の実行時にドライバはSQLExceptionを生成します。
指定されたJavaオブジェクトは、データベースに送られる前に、指定されたtargetSqlTypeに変換されます。 オブジェクトがカスタム・マッピングを持つ場合(オブジェクトがインタフェースSQLDataを実装するクラスのインスタンスである場合)、JDBCドライバはSQLData.writeSQLメソッドを呼び出して、そのオブジェクトをSQLデータ・ストリームへ書き込む必要があります。 また、オブジェクトがRef、Blob、Clob、NClob、Struct、java.net.URL、またはArrayを実装するクラスのオブジェクトである場合、ドライバはこのオブジェクトを対応するSQL型の値としてデータベースに渡す必要があります。
このメソッドは、データベース固有の抽象データ型を渡すために使用することに注意してください。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - 入力パラメータ値を含むオブジェクトtargetSqlType - データベースに送られる(java.sql.Typesで定義される) SQL型。 scale引数で、さらにこの型を限定できる scaleOrLength - java.sql.Types.DECIMALまたはjava.sql.Types.NUMERIC typesの場合、これは小数点のあとの桁数になる。 Javaオブジェクト型InputStreamおよびReaderの場合は、ストリームまたはリーダーのデータ長。 ほかのすべての型では、この値は無視される。 SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはxで指定されたJavaオブジェクトがInputStreamオブジェクトかReaderオブジェクトで、かつscaleパラメータの値が0より小さい場合SQLFeatureNotSupportedException - JDBCドライバが指定されたtargetSqlTypeをサポートしない場合Typesvoid setAsciiStream(int parameterIndex,
InputStream x,
long length)
throws SQLException
LONGVARCHARパラメータに非常に大きなASCII値が入力されるときには、java.io.InputStreamを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをASCIIからデータベースのchar形式に変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - ASCIIパラメータ値を含むJava入力ストリームlength - ストリームのバイト数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setBinaryStream(int parameterIndex,
InputStream x,
long length)
throws SQLException
LONGVARBINARYパラメータに非常に大きなバイナリ値が入力されるときには、java.io.InputStreamオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - バイナリ・パラメータ値を含むJava入力ストリームlength - ストリームのバイト数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setCharacterStream(int parameterIndex,
Reader reader,
long length)
throws SQLException
Readerオブジェクトに設定します。 LONGVARCHARパラメータに非常に大きなUNICODE値が入力されるときには、java.io.Readerオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをUNICODEからデータベースのchar形式に変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるreader - Unicodeデータを格納するjava.io.Readerオブジェクトlength - ストリーム内の文字数SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合void setAsciiStream(int parameterIndex,
InputStream x)
throws SQLException
LONGVARCHARパラメータに非常に大きなASCII値が入力されるときには、java.io.InputStreamを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをASCIIからデータベースのchar形式に変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
ノート: lengthパラメータを使用するバージョンのsetAsciiStreamを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - ASCIIパラメータ値を含むJava入力ストリームSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setBinaryStream(int parameterIndex,
InputStream x)
throws SQLException
LONGVARBINARYパラメータに非常に大きなバイナリ値が入力されるときには、java.io.InputStreamオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
ノート: lengthパラメータを使用するバージョンのsetBinaryStreamを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - バイナリ・パラメータ値を含むJava入力ストリームSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setCharacterStream(int parameterIndex,
Reader reader)
throws SQLException
Readerオブジェクトに設定します。 LONGVARCHARパラメータに非常に大きなUNICODE値が入力されるときには、java.io.Readerオブジェクトを介して送るのが現実的です。 ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。 JDBCドライバは、データをUNICODEからデータベースのchar形式に変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
ノート: lengthパラメータを使用するバージョンのsetCharacterStreamを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるreader - Unicodeデータを格納するjava.io.ReaderオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setNCharacterStream(int parameterIndex,
Reader value)
throws SQLException
Readerオブジェクトに設定します。 Readerは、ファイルの終わりに達するまでデータを読み込みます。 ドライバは、必要に応じて、Javaの文字表現をデータベース内の各国文字セットに変換します。
ノート: このストリーム・オブジェクトは、標準のJavaストリーム・オブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
ノート: lengthパラメータを使用するバージョンのsetNCharacterStreamを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるvalue - パラメータ値SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setClob(int parameterIndex,
Reader reader)
throws SQLException
Readerオブジェクトに設定します。 このメソッドは、setCharacterStream (int, Reader)メソッドと異なり、パラメータ値をCLOBとしてサーバーに送信するべきであることをドライバに通知します。 setCharacterStreamメソッドを使用すると、ドライバは、パラメータ・データをLONGVARCHARとCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。
ノート: lengthパラメータを使用するバージョンのsetClobを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるreader - パラメータ値に設定されるデータを含むオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはparameterIndexがSQL文のパラメータ・マーカーに対応しない場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setBlob(int parameterIndex,
InputStream inputStream)
throws SQLException
InputStreamオブジェクトに設定します。 このメソッドは、setBinaryStream (int, InputStream)メソッドと異なり、パラメータ値をBLOBとしてサーバーに送信するべきであることをドライバに通知します。 setBinaryStreamメソッドを使用すると、ドライバは、パラメータ・データをLONGVARBINARYとBLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。
ノート: lengthパラメータを使用するバージョンのsetBlobを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるinputStream - パラメータ値に設定されるデータを含むオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはparameterIndexがSQL文のパラメータ・マーカーに対応しない場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合void setNClob(int parameterIndex,
Reader reader)
throws SQLException
Readerオブジェクトに設定します。 このメソッドは、setCharacterStream (int, Reader)メソッドと異なり、パラメータ値をNCLOBとしてサーバーに送信するべきであることをドライバに通知します。 setCharacterStreamメソッドを使用すると、ドライバは、パラメータ・データをLONGNVARCHARとNCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。
ノート: lengthパラメータを使用するバージョンのsetNClobを使用する方が効率的かどうかを判断するには、JDBCドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるreader - パラメータ値に設定されるデータを含むオブジェクトSQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合default void setObject(int parameterIndex,
Object x,
SQLType targetSqlType,
int scaleOrLength)
throws SQLException
指定されたパラメータの値を、指定されたオブジェクトで設定します。 2番目の引数がInputStreamである場合、ストリームにはscaleOrLengthで指定されるバイト数が含まれる必要があります。 2番目の引数がReaderである場合、リーダーにはscaleOrLengthで指定される文字数が含まれる必要があります。 これらの条件がtrueではない場合、準備された文の実行時にドライバはSQLExceptionを生成します。
指定されたJavaオブジェクトは、データベースに送られる前に、指定されたtargetSqlTypeに変換されます。 オブジェクトがカスタム・マッピングを持つ場合(オブジェクトがインタフェースSQLDataを実装するクラスのインスタンスである場合)、JDBCドライバはSQLData.writeSQLメソッドを呼び出して、そのオブジェクトをSQLデータ・ストリームへ書き込む必要があります。 また、オブジェクトがRef、Blob、Clob、NClob、Struct、java.net.URL、またはArrayを実装するクラスのオブジェクトである場合、ドライバはこのオブジェクトを対応するSQL型の値としてデータベースに渡す必要があります。
このメソッドは、データベース固有の抽象データ型を渡すために使用することに注意してください。
デフォルト実装はSQLFeatureNotSupportedExceptionをスローします
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - 入力パラメータ値を含むオブジェクトtargetSqlType - データベースに送られるSQL型。 scale引数で、さらにこの型を限定できる scaleOrLength - java.sql.JDBCType.DECIMALまたはjava.sql.JDBCType.NUMERIC型の場合、これは小数点の後の桁数になる。 Javaオブジェクト型InputStreamおよびReaderの場合は、ストリームまたはリーダーのデータ長。 ほかのすべての型では、この値は無視される。 SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはxで指定されたJavaオブジェクトがInputStreamオブジェクトかReaderオブジェクトで、かつscaleパラメータの値が0より小さい場合SQLFeatureNotSupportedException - JDBCドライバが指定されたtargetSqlTypeをサポートしない場合JDBCType, SQLTypedefault void setObject(int parameterIndex,
Object x,
SQLType targetSqlType)
throws SQLException
setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)に似ていますが、scaleに0を仮定している点が異なります。
デフォルト実装はSQLFeatureNotSupportedExceptionをスローします
parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となるx - 入力パラメータ値を含むオブジェクトtargetSqlType - データベースに送られるSQL型SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合SQLFeatureNotSupportedException - JDBCドライバが指定されたtargetSqlTypeをサポートしない場合JDBCType, SQLTypedefault long executeLargeUpdate()
throws SQLException
PreparedStatementオブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT文、UPDATE文、DELETE文など)であるか、DDL文のような何も返さないSQL文でなければなりません。
返される行数がInteger.MAX_VALUEを超える可能性がある場合は、このメソッドを使用するようにしてください。
デフォルト実装はUnsupportedOperationExceptionをスローします
SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementで呼び出された場合、またはSQL文がResultSetオブジェクトを返した場合SQLTimeoutException - ドライバが、setQueryTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatementの取消しを試みたとき バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。