- すべてのスーパー・インタフェース:
AutoCloseable
,Statement
,Wrapper
- 既知のすべてのサブインタフェース:
CallableStatement
SQL文は、プリコンパイルされ、PreparedStatement
オブジェクトに格納されます。 その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。
ノート: INパラメータ値を設定する設定機能メソッド(setShort
、setString
など)は、入力パラメータの定義されたSQL型と互換のある型を指定する必要があります。 たとえば、INパラメータがINTEGER
というSQL型の場合、setInt
メソッドを使用するようにしてください。
任意のパラメータ型変換が必要な場合は、目的のSQL型を指定してsetObject
メソッドを使用するようにしてください。
パラメータ設定の例を次に示します。con
はアクティブな接続を表します。
BigDecimal sal = new BigDecimal("153833.00");
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, sal);
pstmt.setInt(2, 110592);
- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
インタフェース java.sql.Statementで宣言されたフィールド
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
-
メソッドのサマリー
修飾子と型メソッド説明void
addBatch()
このPreparedStatement
オブジェクトのコマンドのバッチに、パラメータのセットを追加します。void
現在のパラメータ値をすぐにクリアします。boolean
execute()
このPreparedStatement
オブジェクトの、あらゆる種類のSQL文を実行します。default long
このPreparedStatement
オブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT
文、UPDATE
文、DELETE
文など)であるか、DDL文のような何も返さないSQL文でなければなりません。このPreparedStatement
オブジェクトのSQLクエリーを実行し、そのクエリーによって生成されたResultSet
オブジェクトを返します。int
このPreparedStatement
オブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT
文、UPDATE
文、DELETE
文など)であるか、DDL文のような何も返さないSQL文でなければなりません。このPreparedStatement
オブジェクトが実行されるときに返されるResultSet
オブジェクトの列に関する情報を格納するResultSetMetaData
オブジェクトを取得します。このPreparedStatement
オブジェクトのパラメータの数、型、およびプロパティを取得します。void
指定されたパラメータを指定された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, InputStream inputStream) 指定されたパラメータをInputStream
オブジェクトに設定します。void
setBlob
(int parameterIndex, InputStream inputStream, long length) 指定されたパラメータをInputStream
オブジェクトに設定します。void
指定されたパラメータを指定されたjava.sql.Blob
オブジェクトに設定します。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
指定されたパラメータをReader
オブジェクトに設定します。void
指定されたパラメータをReader
オブジェクトに設定します。void
指定されたパラメータを指定されたjava.sql.Clob
オブジェクトに設定します。void
アプリケーションを実行している仮想マシンのデフォルトのタイムゾーンを使用して、指定されたパラメータを指定されたjava.sql.Date
値に設定します。void
指定された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
指定されたパラメータをReader
オブジェクトに設定します。void
指定されたパラメータをReader
オブジェクトに設定します。void
指定されたパラメータをjava.sql.NClob
オブジェクトに設定します。void
setNString
(int parameterIndex, String value) 指定されたパラメータを指定されたString
オブジェクトに設定します。void
setNull
(int parameterIndex, int sqlType) 指定されたパラメータをSQLNULL
に設定します。void
指定されたパラメータをSQLNULL
に設定します。void
指定されたパラメータの値を、指定されたオブジェクトを使用して設定します。void
指定されたパラメータの値を、指定されたオブジェクトで設定します。void
指定されたパラメータの値を、指定されたオブジェクトで設定します。default void
指定されたパラメータの値を、指定されたオブジェクトで設定します。default void
指定されたパラメータの値を、指定されたオブジェクトで設定します。void
指定されたパラメータを、指定されたREF(<structured-type>)
値に設定します。void
指定されたパラメータを指定されたjava.sql.RowId
オブジェクトに設定します。void
setShort
(int parameterIndex, short x) 指定されたパラメータを指定されたJavaのshort
値に設定します。void
指定されたパラメータを指定されたjava.sql.SQLXML
オブジェクトに設定します。void
指定されたパラメータを指定されたJavaのString
値に設定します。void
指定されたパラメータを、指定されたjava.sql.Time
値に設定します。void
指定された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) 非推奨。void
指定されたパラメータを、指定されたjava.net.URL
値に設定します。インタフェース java.sql.Statementで宣言されたメソッド
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, 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, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
インタフェース java.sql.Wrapperで宣言されたメソッド
isWrapperFor, unwrap
-
メソッドの詳細
-
executeQuery
ResultSet executeQuery() throws SQLExceptionこのPreparedStatement
オブジェクトのSQLクエリーを実行し、そのクエリーによって生成されたResultSet
オブジェクトを返します。- 戻り値:
- クエリーによって作成されたデータを含む
ResultSet
オブジェクト。null
にはならない - 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatement
で呼び出された場合、またはSQL文がResultSet
オブジェクトを返さない場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたとき
-
executeUpdate
int executeUpdate() throws SQLExceptionこのPreparedStatement
オブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT
文、UPDATE
文、DELETE
文など)であるか、DDL文のような何も返さないSQL文でなければなりません。- 戻り値:
- (1) SQLデータ操作言語(DML)文の場合は行数、(2)何も返さないSQL文の場合は0
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatement
で呼び出された場合、またはSQL文がResultSet
オブジェクトを返した場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたとき
-
setNull
void setNull(int parameterIndex, int sqlType) throws SQLException 指定されたパラメータをSQLNULL
に設定します。ノート: パラメータの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ドライバがこのデータ型をサポートしていない場合
-
setBoolean
void setBoolean(int parameterIndex, boolean x) throws SQLException 指定されたパラメータを指定されたJavaのboolean
値に設定します。 データベースに送るときに、ドライバはこれをSQLBIT
またはBOOLEAN
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setByte
void setByte(int parameterIndex, byte x) throws SQLException 指定されたパラメータを指定されたJavaのbyte
値に設定します。 データベースに送るときに、ドライバはこれをSQLTINYINT
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setShort
void setShort(int parameterIndex, short x) throws SQLException 指定されたパラメータを指定されたJavaのshort
値に設定します。 データベースに送るときに、ドライバはこれをSQLSMALLINT
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setInt
void setInt(int parameterIndex, int x) throws SQLException 指定されたパラメータを指定されたJavaのint
値に設定します。 データベースに送るときに、ドライバはこれをSQLINTEGER
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setLong
void setLong(int parameterIndex, long x) throws SQLException 指定されたパラメータを指定されたJavaのlong
値に設定します。 データベースに送るときに、ドライバはこれをSQLBIGINT
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setFloat
void setFloat(int parameterIndex, float x) throws SQLException 指定されたパラメータを指定されたJavaのfloat
値に設定します。 データベースに送るときに、ドライバはこれをSQLREAL
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setDouble
void setDouble(int parameterIndex, double x) throws SQLException 指定されたパラメータを指定されたJavaのdouble
値に設定します。 データベースに送るときに、ドライバはこれをSQLDOUBLE
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setBigDecimal
void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException 指定されたパラメータを、指定されたjava.math.BigDecimal
値に設定します。 データベースに送るときに、ドライバはこれをSQLNUMERIC
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setString
void setString(int parameterIndex, String x) throws SQLException 指定されたパラメータを指定されたJavaのString
値に設定します。 データベースに送るときに、ドライバはこれをSQLVARCHAR
またはLONGVARCHAR
値(ドライバのVARCHAR
値の制限に対する引数のサイズに依存)に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setBytes
void setBytes(int parameterIndex, byte[] x) throws SQLException 指定されたパラメータを指定されたJavaのバイト配列に設定します。 データベースに送るときに、ドライバはこれをSQLVARBINARY
またはLONGVARBINARY
(ドライバのVARBINARY
値の制限に対する引数のサイズに依存)に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setDate
void setDate(int parameterIndex, Date x) throws SQLException アプリケーションを実行している仮想マシンのデフォルトのタイムゾーンを使用して、指定されたパラメータを指定されたjava.sql.Date
値に設定します。 データベースに送るときに、ドライバはこれをSQLDATE
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setTime
void setTime(int parameterIndex, Time x) throws SQLException 指定されたパラメータを、指定されたjava.sql.Time
値に設定します。 データベースに送るときに、ドライバはこれをSQLTIME
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException 指定されたパラメータを、指定されたjava.sql.Timestamp
値に設定します。 データベースに送るときに、ドライバはこれをSQLTIMESTAMP
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合
-
setAsciiStream
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
で呼び出された場合
-
setUnicodeStream
@Deprecated(since="1.2") 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ドライバがこのメソッドをサポートしない場合
-
setBinaryStream
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
で呼び出された場合
-
clearParameters
void clearParameters() throws SQLException現在のパラメータ値をすぐにクリアします。通常、文を繰返し使用するために、パラメータ値は強制的に残されます。 パラメータ値を設定すると、前の値は自動的にクリアされます。 しかし、現在のパラメータ値によって使用されたリソースをただちに解放した方が役に立つ場合があります。これは、
clearParameters
メソッドを呼び出して実行することができます。- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
について呼び出された場合
-
setObject
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をサポートしない場合- 関連項目:
-
setObject
void 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
で呼び出された場合、または指定されたオブジェクトの型があいまいな場合
-
execute
boolean execute() throws SQLExceptionこのPreparedStatement
オブジェクトの、あらゆる種類のSQL文を実行します。 プリペアド文オブジェクトで用意された文には複数の結果を返すものがあります。execute
メソッドは、executeQuery
メソッドとexecuteUpdate
メソッドによって処理される、より簡単な形式の文と同様に、複雑な文も処理します。execute
メソッドは、boolean
を返し最初の結果の形式を示します。getResultSet
またはgetUpdateCount
メソッドを呼び出して結果を取得します。後続の結果がある場合はgetMoreResults
を呼び出してその結果に移動します。- 戻り値:
- 最初の結果が
ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatement
で呼び出された場合、または引数がこのメソッドに指定された場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたとき- 関連項目:
-
addBatch
void addBatch() throws SQLExceptionこのPreparedStatement
オブジェクトのコマンドのバッチに、パラメータのセットを追加します。- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
について呼び出された場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
setCharacterStream
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
で呼び出された場合- 導入されたバージョン:
- 1.2
-
setRef
void setRef(int parameterIndex, Ref x) throws SQLException 指定されたパラメータを、指定されたREF(<structured-type>)
値に設定します。 データベースに送るときに、ドライバはこれをSQLREF
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- SQLREF
値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.2
-
setBlob
void setBlob(int parameterIndex, Blob x) throws SQLException 指定されたパラメータを指定されたjava.sql.Blob
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLBLOB
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- SQLBLOB
値をマッピングするBlob
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.2
-
setClob
void setClob(int parameterIndex, Clob x) throws SQLException 指定されたパラメータを指定されたjava.sql.Clob
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLCLOB
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- SQLCLOB
値をマッピングするClob
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.2
-
setArray
void setArray(int parameterIndex, Array x) throws SQLException 指定されたパラメータを指定されたjava.sql.Array
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLARRAY
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- SQLARRAY
値をマッピングするArray
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.2
-
getMetaData
ResultSetMetaData getMetaData() throws SQLExceptionこのPreparedStatement
オブジェクトが実行されるときに返されるResultSet
オブジェクトの列に関する情報を格納するResultSetMetaData
オブジェクトを取得します。PreparedStatement
オブジェクトはプリコンパイルされるので、実行せずに、返されるResultSet
オブジェクトについて知ることが可能です。 したがって、PreparedStatement
オブジェクトのgetMetaData
メソッドを呼び出すことができます。その実行を待ち、それから返されたResultSet
オブジェクトに対してResultSet.getMetaData
メソッドを呼び出す必要はありません。ノート: このメソッドの使用は、ドライバによっては基本となるDBMSサポートが不足しているため負荷が大きくなる場合があります。
- 戻り値:
ResultSet
オブジェクトの列の記述、またはドライバがResultSetMetaData
オブジェクトを返すことができない場合はnull
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.2
-
setDate
void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException 指定されたCalendar
オブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Date
値に設定します。 ドライバはCalendar
オブジェクトを使用してSQLDATE
値を作成し、続いてそれをデータベースに送ります。Calendar
オブジェクトを使用すると、ドライバはカスタム・タイムゾーンを考慮して日付を計算できます。Calendar
オブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンであるデフォルトのタイムゾーンを使用します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値cal
- ドライバが日付を作成するために使用するCalendar
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合- 導入されたバージョン:
- 1.2
-
setTime
void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException 指定されたCalendar
オブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Time
値に設定します。 ドライバはCalendar
オブジェクトを使用してSQLTIME
値を作成し、続いてそれをデータベースに送ります。Calendar
オブジェクトを使用すると、ドライバはカスタム・タイムゾーンを考慮して時間を計算できます。Calendar
オブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンであるデフォルトのタイムゾーンを使用します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値cal
- ドライバが時間を作成するために使用するCalendar
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合- 導入されたバージョン:
- 1.2
-
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException 指定されたCalendar
オブジェクトを使用して、指定されたパラメータを指定されたjava.sql.Timestamp
値に設定します。 ドライバはCalendar
オブジェクトを使用してSQLTIMESTAMP
値を作成し、続いてそれをデータベースに送ります。Calendar
オブジェクトを使用すると、ドライバはカスタム・タイムゾーンを考慮してタイムスタンプを計算できます。Calendar
オブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンであるデフォルトのタイムゾーンを使用します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値cal
- ドライバがタイムスタンプを作成するために使用するCalendar
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合- 導入されたバージョン:
- 1.2
-
setNull
void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException 指定されたパラメータをSQLNULL
に設定します。 ユーザー定義型および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ドライバがこのメソッドをサポートしていない場合- 導入されたバージョン:
- 1.2
-
setURL
void setURL(int parameterIndex, URL x) throws SQLException 指定されたパラメータを、指定されたjava.net.URL
値に設定します。 データベースに送るときに、ドライバはこれをSQLDATALINK
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- 設定されるjava.net.URL
オブジェクト- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.4
-
getParameterMetaData
ParameterMetaData getParameterMetaData() throws SQLExceptionこのPreparedStatement
オブジェクトのパラメータの数、型、およびプロパティを取得します。- 戻り値:
- この
PreparedStatement
オブジェクトの各パラメータ・マーカーの数、型、およびプロパティについての情報を格納するParameterMetaData
オブジェクト - 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
について呼び出された場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
setRowId
void setRowId(int parameterIndex, RowId x) throws SQLException 指定されたパラメータを指定されたjava.sql.RowId
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLROWID
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータは1、2番目のパラメータは2、... となるx
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setNString
void setNString(int parameterIndex, String value) throws SQLException 指定されたパラメータを指定されたString
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLNCHAR
、NVARCHAR
、またはLONGNVARCHAR
値(ドライバのNVARCHAR
値の制限に対する引数のサイズに依存)に変換します。- パラメータ:
parameterIndex
- 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるvalue
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setNCharacterStream
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setNClob
void setNClob(int parameterIndex, NClob value) throws SQLException 指定されたパラメータをjava.sql.NClob
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLNCLOB
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるvalue
- パラメータ値- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatement
で呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setClob
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setBlob
void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException 指定されたパラメータをInputStream
オブジェクトに設定します。Inputstream
には、長さで指定された文字数が含まれていなければなりません。それ以外の場合は、PreparedStatement
が実行されるときにSQLException
が生成されます。 このメソッドは、setBinaryStream (int, InputStream, int)
メソッドと異なり、パラメータ値をBLOB
としてサーバーに送信するべきであることをドライバに通知します。setBinaryStream
メソッドを使用すると、ドライバは、パラメータ・データをLONGVARBINARY
とBLOB
のどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。- パラメータ:
parameterIndex
- 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるinputStream
- パラメータ値に設定されるデータを含むオブジェクトlength
- パラメータ・データ内のバイト数- 例外:
SQLException
- parameterIndexがSQL文のパラメータ・マーカーに対応していない場合。データベース・アクセス・エラーが発生した場合。このメソッドは閉じられたPreparedStatement
で呼び出されます。指定された長さが0より小さい場合、またはInputStream
のバイト数が指定された長さと一致しない場合。SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setNClob
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setSQLXML
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException 指定されたパラメータを指定されたjava.sql.SQLXML
オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQLXML
値に変換します。- パラメータ:
parameterIndex
- 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となるxmlObject
- SQLXML
値をマッピングするSQLXML
オブジェクト- 例外:
SQLException
- parameterIndexが指定されたSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatement
またはjava.xml.transform.Result
で呼び出された場合、Writer
またはOutputStream
がSQLXML
オブジェクトに対してクローズされていない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setObject
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をサポートしない場合- 関連項目:
-
setAsciiStream
void 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
で呼び出された場合- 導入されたバージョン:
- 1.6
-
setBinaryStream
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
で呼び出された場合- 導入されたバージョン:
- 1.6
-
setCharacterStream
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
で呼び出された場合- 導入されたバージョン:
- 1.6
-
setAsciiStream
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setBinaryStream
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setCharacterStream
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setNCharacterStream
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setClob
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setBlob
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setNClob
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ドライバがこのメソッドをサポートしない場合- 導入されたバージョン:
- 1.6
-
setObject
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をサポートしない場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
setObject
default 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をサポートしない場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
executeLargeUpdate
default long executeLargeUpdate() throws SQLExceptionこのPreparedStatement
オブジェクトのSQL文を実行します。それはSQLデータ操作言語(DML)文(INSERT
文、UPDATE
文、DELETE
文など)であるか、DDL文のような何も返さないSQL文でなければなりません。返される行数が
Integer.MAX_VALUE
を超える可能性がある場合は、このメソッドを使用するようにしてください。デフォルト実装は
UnsupportedOperationException
をスローします- 戻り値:
- (1) SQLデータ操作言語(DML)文の場合は行数、(2)何も返さないSQL文の場合は0
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatement
で呼び出された場合、またはSQL文がResultSet
オブジェクトを返した場合SQLTimeoutException
- ドライバが、setQueryTimeout
メソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在実行中のStatement
の取消しを試みたとき- 導入されたバージョン:
- 1.8
-
setCharacterStream
を使用