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 文を実行します。 |
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)
指定されたパラメータの値を、指定されたオブジェクトで設定します。
|
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)
非推奨。
|
void |
setURL(int parameterIndex, URL x)
指定されたパラメータを、指定された
java.net.URL 値に設定します。 |
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, 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 - 次で定義される SQL 型コード: java.sql.TypesSQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setByte(int parameterIndex,
byte x)
throws SQLException
byte 値に設定します。データベースに送るときに、ドライバはこれを SQL TINYINT 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setShort(int parameterIndex,
short x)
throws SQLException
short 値に設定します。データベースに送るときに、ドライバはこれを SQL SMALLINT 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setInt(int parameterIndex,
int x)
throws SQLException
int 値に設定します。データベースに送るときに、ドライバはこれを SQL INTEGER 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setLong(int parameterIndex,
long x)
throws SQLException
long 値に設定します。データベースに送るときに、ドライバはこれを SQL BIGINT 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setFloat(int parameterIndex,
float x)
throws SQLException
float 値に設定します。データベースに送るときに、ドライバはこれを SQL REAL 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setDouble(int parameterIndex,
double x)
throws SQLException
double 値に設定します。データベースに送るときに、ドライバはこれを SQL DOUBLE 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setBigDecimal(int parameterIndex,
BigDecimal x)
throws SQLException
java.math.BigDecimal 値に設定します。データベースに送るときに、ドライバはこれを SQL NUMERIC 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setString(int parameterIndex,
String x)
throws SQLException
String 値に設定します。データベースに送るときに、ドライバはこれを SQL VARCHAR または LONGVARCHAR 値 (ドライバの VARCHAR 値の制限に対する引数のサイズに依存) に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setBytes(int parameterIndex,
byte[] x)
throws SQLException
VARBINARY または LONGVARBINARY (ドライバの VARBINARY 値の制限に対する引数のサイズに依存) に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setDate(int parameterIndex,
Date x)
throws SQLException
java.sql.Date 値に設定します。データベースに送るときに、ドライバはこれを SQL DATE 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setTime(int parameterIndex,
Time x)
throws SQLException
java.sql.Time 値に設定します。データベースに送るときに、ドライバはこれを SQL TIME 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setTimestamp(int parameterIndex,
Timestamp x)
throws SQLException
java.sql.Timestamp 値に設定します。データベースに送るときに、ドライバはこれを SQL TIMESTAMP 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setUnicodeStream(int parameterIndex,
InputStream x,
int length)
throws SQLException
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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid clearParameters()
throws SQLException
通常、文を繰り返し使用するために、パラメータ値は強制的に残されます。パラメータ値を設定すると、前の値は自動的にクリアされます。しかし、現在のパラメータ値によって使用されたリソースをただちに解放した方が役に立つ場合があります。これは、clearParameters メソッドを呼び出して実行することができます。
SQLException - データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: PreparedStatementvoid setObject(int parameterIndex,
Object x,
int targetSqlType)
throws SQLException
setObject メソッドに似ていますが、scale に 0 を仮定している点が異なります。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - 入力パラメータ値を含むオブジェクトtargetSqlType - データベースに送られる (java.sql.Types で定義される) SQL 型SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - targetSqlType のデータ型が、ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML、または STRUCT で、JDBC ドライバがこのデータ型をサポートしていない場合Typesvoid setObject(int parameterIndex,
Object x)
throws SQLException
指定されたパラメータの値を、指定されたオブジェクトを使用して設定します。2 番目のパラメータは、Object 型である必要があります。したがって、組み込み型の場合、等価な java.lang オブジェクトを使用する必要があります。
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。更新カウントであるか、または結果がない場合は falseSQLException - データベースアクセスエラーが発生した場合、このメソッドがクローズされた PreparedStatement で呼び出された場合、または引数がこのメソッドに指定された場合SQLTimeoutException - ドライバが、setQueryTimeout メソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在実行中の Statement の取り消しを試みたときStatement.execute(java.lang.String), Statement.getResultSet(), Statement.getUpdateCount(), Statement.getMoreResults()void addBatch()
throws SQLException
PreparedStatement オブジェクトのコマンドのバッチに、パラメータのセットを追加します。SQLException - データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: PreparedStatementStatement.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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setRef(int parameterIndex,
Ref x)
throws SQLException
REF(<structured-type>) 値に設定します。データベースに送るときに、ドライバはこれを SQL REF 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - SQL REF 値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合ResultSetMetaData getMetaData() throws SQLException
PreparedStatement オブジェクトが実行されるときに返される ResultSet オブジェクトの列に関する情報を格納する ResultSetMetaData オブジェクトを取得します。
PreparedStatement オブジェクトはプリコンパイルされるので、実行せずに、返される ResultSet オブジェクトについて知ることが可能です。したがって、PreparedStatement オブジェクトの getMetaData メソッドを呼び出すことができます。その実行を待ち、それから返された ResultSet オブジェクトに対して ResultSet.getMetaData メソッドを呼び出す必要はありません。
注: このメソッドの使用は、ドライバによっては基本となる DBMS サポートが不足しているため負荷が大きくなる場合があります。
ResultSet オブジェクトの列の記述、またはドライバが ResultSetMetaData オブジェクトを返すことができない場合は nullSQLException - データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid 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.TypestypeName - SQL ユーザー定義型の完全指定の名前。パラメータがユーザー定義型でも REF でもない場合は無視されるSQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatement オブジェクトのパラメータの数、型、およびプロパティーを取得します。PreparedStatement オブジェクトの各パラメータマーカーの数、型、およびプロパティーについての情報を格納する ParameterMetaData オブジェクトSQLException - データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: PreparedStatementParameterMetaDatavoid setRowId(int parameterIndex,
RowId x)
throws SQLException
java.sql.RowId オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL ROWID 値に変換します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合void setNString(int parameterIndex,
String value)
throws SQLException
String オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL NCHAR、NVARCHAR、または LONGNVARCHAR 値 (ドライバの NVARCHAR 値の制限に対する引数のサイズに依存) に変換します。parameterIndex - 最初のパラメータのインデックスは 1、2 番目のパラメータのインデックスは 2、... となるvalue - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合void setNCharacterStream(int parameterIndex,
Reader value,
long length)
throws SQLException
Reader オブジェクトに設定します。Reader は、ファイルの終わりに達するまでデータを読み込みます。ドライバは、必要に応じて、Java の文字表現をデータベース内の各国文字セットに変換します。parameterIndex - 最初のパラメータのインデックスは 1、2 番目のパラメータのインデックスは 2、... となるvalue - パラメータ値length - パラメータデータ内の文字数SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合void setNClob(int parameterIndex,
NClob value)
throws SQLException
java.sql.NClob オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL NCLOB 値に変換します。parameterIndex - 最初のパラメータのインデックスは 1、2 番目のパラメータのインデックスは 2、... となるvalue - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーと対応していない場合、長さとしてゼロ未満の値が指定された場合、ドライバが各国文字セットをサポートしない場合、ドライバがデータ変換エラーが発生した可能性を検出できる場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 番目の引数は、オブジェクト型である必要があります。整数値の場合は、等価な java.lang オブジェクトを使用する必要があります。
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 - targetSqlType のデータ型が、ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML、または STRUCT で、JDBC ドライバがこのデータ型をサポートしていない場合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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid setBinaryStream(int parameterIndex,
InputStream x,
long length)
throws SQLException
LONGVARBINARY パラメータに非常に大きなバイナリ値が入力されるときには、java.io.InputStream オブジェクトを介して送るのが現実的です。ファイルの終わりに達するまで必要に応じてストリームからデータが読み込まれます。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、... となるx - バイナリパラメータ値を含む Java 入力ストリームlength - ストリームのバイト数SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementvoid 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合void setNCharacterStream(int parameterIndex,
Reader value)
throws SQLException
Reader オブジェクトに設定します。Reader は、ファイルの終わりに達するまでデータを読み込みます。ドライバは、必要に応じて、Java の文字表現をデータベース内の各国文字セットに変換します。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
注: length パラメータを使用するバージョンの setNCharacterStream を使用する方が効率的かどうかを判断するには、JDBC ドライバのドキュメントを参照してください。
parameterIndex - 最初のパラメータのインデックスは 1、2 番目のパラメータのインデックスは 2、... となるvalue - パラメータ値SQLException - parameterIndex が SQL 文のパラメータマーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - 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 文のパラメータマーカーに対応しない場合、ドライバが各国の文字セットをサポートしない場合、ドライバがデータ変換エラーが発生したことを検出できる場合、データベースアクセスエラーが発生した場合、またはこのメソッドがクローズされた次のもので呼び出された場合: PreparedStatementSQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.