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, setQueryTimeout
isWrapperFor, unwrap
ResultSet 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
- 次で定義されるSQL型コード: java.sql.Types
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をサポートしない場合Types
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
で呼び出された場合、または指定されたオブジェクトの型があいまいな場合boolean execute() throws SQLException
PreparedStatement
オブジェクトの、あらゆる種類のSQL文を実行します。PreparedStatementオブジェクトで用意された文には複数の結果を返すものがあります。execute
メソッドは、executeQuery
メソッドとexecuteUpdate
メソッドによって処理される、より簡単な形式の文と同様に、複雑な文も処理します。
execute
メソッドは、boolean
を返し最初の結果の形式を示します。getResultSet
またはgetUpdateCount
メソッドを呼び出して結果を取得します。後続の結果がある場合はgetMoreResults
を呼び出してその結果に移動します。
ResultSet
オブジェクトの場合はtrue
。更新カウントであるか、または結果がない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた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
オブジェクトを返すことができない場合はnull
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: 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
ParameterMetaData
void 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をサポートしない場合Types
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
で呼び出された場合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
, SQLType
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をサポートしない場合JDBCType
, SQLType
default 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, 2014, Oracle and/or its affiliates. All rights reserved.