モジュール java.sql
パッケージ java.sql

インタフェースPreparedStatement

すべてのスーパー・インタフェース:
AutoCloseable, Statement, Wrapper
既知のすべてのサブインタフェース:
CallableStatement

public interface PreparedStatement extends Statement
プリコンパイルされたSQL文を表すオブジェクトです。

SQL文は、プリコンパイルされ、PreparedStatementオブジェクトに格納されます。 その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。

ノート: INパラメータ値を設定する設定機能メソッド(setShortsetStringなど)は、入力パラメータの定義された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
関連項目:
Connection.prepareStatement(java.lang.String)ResultSet
  • フィールドのサマリー

  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このPreparedStatementオブジェクトのコマンドのバッチに、パラメータのセットを追加します。
    void
    現在のパラメータ値をすぐにクリアします。
    boolean
    この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
    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, InputStream inputStream)
    指定されたパラメータをInputStreamオブジェクトに設定します。
    void
    setBlob​(int parameterIndex, InputStream inputStream, long length)
    指定されたパラメータをInputStreamオブジェクトに設定します。
    void
    setBlob​(int parameterIndex, Blob x)
    指定されたパラメータを指定された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
    setClob​(int parameterIndex, Reader reader)
    指定されたパラメータをReaderオブジェクトに設定します。
    void
    setClob​(int parameterIndex, Reader reader, long length)
    指定されたパラメータをReaderオブジェクトに設定します。
    void
    setClob​(int parameterIndex, Clob x)
    指定されたパラメータを指定されたjava.sql.Clobオブジェクトに設定します。
    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, Reader reader)
    指定されたパラメータをReaderオブジェクトに設定します。
    void
    setNClob​(int parameterIndex, Reader reader, long length)
    指定されたパラメータをReaderオブジェクトに設定します。
    void
    setNClob​(int parameterIndex, NClob value)
    指定されたパラメータをjava.sql.NClobオブジェクトに設定します。
    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値に設定します。

    インタフェース 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
      指定されたパラメータをSQL NULLに設定します。

      ノート: パラメータのSQLの型を指定する必要があります。

      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      sqlType - java.sql.Typesで定義されるSQL型コード
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
      SQLFeatureNotSupportedException - sqlTypeのデータ型が、ARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXML、またはSTRUCTで、JDBCドライバがこのデータ型をサポートしていない場合
    • setBoolean

      void setBoolean(int parameterIndex, boolean x) throws SQLException
      指定されたパラメータを指定されたJavaのboolean値に設定します。 データベースに送るときに、ドライバはこれをSQL BITまたはBOOLEAN値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setByte

      void setByte(int parameterIndex, byte x) throws SQLException
      指定されたパラメータを指定されたJavaのbyte値に設定します。 データベースに送るときに、ドライバはこれをSQL TINYINT値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setShort

      void setShort(int parameterIndex, short x) throws SQLException
      指定されたパラメータを指定されたJavaのshort値に設定します。 データベースに送るときに、ドライバはこれをSQL SMALLINT値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setInt

      void setInt(int parameterIndex, int x) throws SQLException
      指定されたパラメータを指定されたJavaのint値に設定します。 データベースに送るときに、ドライバはこれをSQL INTEGER値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setLong

      void setLong(int parameterIndex, long x) throws SQLException
      指定されたパラメータを指定されたJavaのlong値に設定します。 データベースに送るときに、ドライバはこれをSQL BIGINT値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setFloat

      void setFloat(int parameterIndex, float x) throws SQLException
      指定されたパラメータを指定されたJavaのfloat値に設定します。 データベースに送るときに、ドライバはこれをSQL REAL値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setDouble

      void setDouble(int parameterIndex, double x) throws SQLException
      指定されたパラメータを指定されたJavaのdouble値に設定します。 データベースに送るときに、ドライバはこれをSQL DOUBLE値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setBigDecimal

      void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
      指定されたパラメータを、指定されたjava.math.BigDecimal値に設定します。 データベースに送るときに、ドライバはこれをSQL NUMERIC値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setString

      void setString(int parameterIndex, String x) throws SQLException
      指定されたパラメータを指定されたJavaのString値に設定します。 データベースに送るときに、ドライバはこれをSQL VARCHARまたはLONGVARCHAR値(ドライバのVARCHAR値の制限に対する引数のサイズに依存)に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setBytes

      void setBytes(int parameterIndex, byte[] x) throws SQLException
      指定されたパラメータを指定されたJavaのバイト配列に設定します。 データベースに送るときに、ドライバはこれをSQL VARBINARYまたはLONGVARBINARY (ドライバのVARBINARY値の制限に対する引数のサイズに依存)に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setDate

      void setDate(int parameterIndex, Date x) throws SQLException
      アプリケーションを実行している仮想マシンのデフォルトのタイムゾーンを使用して、指定されたパラメータを指定されたjava.sql.Date値に設定します。 データベースに送るときに、ドライバはこれをSQL DATE値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setTime

      void setTime(int parameterIndex, Time x) throws SQLException
      指定されたパラメータを、指定されたjava.sql.Time値に設定します。 データベースに送るときに、ドライバはこれをSQL TIME値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
    • setTimestamp

      void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
      指定されたパラメータを、指定されたjava.sql.Timestamp値に設定します。 データベースに送るときに、ドライバはこれをSQL TIMESTAMP値に変換します。
      パラメータ:
      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をサポートしない場合
      関連項目:
      Types
    • setObject

      void setObject(int parameterIndex, Object x) throws SQLException

      指定されたパラメータの値を、指定されたオブジェクトを使用して設定します。

      JDBCの仕様では、JavaのObject型からSQL型への標準マッピングを規定しています。 指定された引数は、データベースに送られる前に、対応するSQL型に変換されます。

      このメソッドは、ドライバ固有のJava型を使用して、データベース固有の抽象データ型を渡すために使用できます。 オブジェクトがインタフェースSQLDataを実装するクラスのインスタンスである場合、JDBCドライバはSQLData.writeSQLメソッドを呼び出して、そのオブジェクトをSQLデータ・ストリームへ書き込む必要があります。 また、オブジェクトがRefBlobClobNClobStructjava.net.URLRowIdSQLXML、または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の取消しを試みたとき
      関連項目:
      Statement.execute(java.lang.String), Statement.getResultSet(), Statement.getUpdateCount(), Statement.getMoreResults()
    • addBatch

      void addBatch() throws SQLException
      このPreparedStatementオブジェクトのコマンドのバッチに、パラメータのセットを追加します。
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementについて呼び出された場合
      導入されたバージョン:
      1.2
      関連項目:
      Statement.addBatch(java.lang.String)
    • 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>)値に設定します。 データベースに送るときに、ドライバはこれをSQL REF値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - SQL REF
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • setBlob

      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ドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • setClob

      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ドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • setArray

      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ドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      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オブジェクトを使用してSQL DATE値を作成し、続いてそれをデータベースに送ります。 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オブジェクトを使用してSQL TIME値を作成し、続いてそれをデータベースに送ります。 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オブジェクトを使用してSQL TIMESTAMP値を作成し、続いてそれをデータベースに送ります。 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
      指定されたパラメータをSQL 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のデータ型が、ARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXML、またはSTRUCTで、JDBCドライバがこのデータ型をサポートしていない場合。またはJDBCドライバがこのメソッドをサポートしていない場合
      導入されたバージョン:
      1.2
    • setURL

      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ドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.4
    • getParameterMetaData

      ParameterMetaData getParameterMetaData() throws SQLException
      このPreparedStatementオブジェクトのパラメータの数、型、およびプロパティを取得します。
      戻り値:
      このPreparedStatementオブジェクトの各パラメータ・マーカーの数、型、およびプロパティについての情報を格納するParameterMetaDataオブジェクト
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementについて呼び出された場合
      導入されたバージョン:
      1.4
      関連項目:
      ParameterMetaData
    • setRowId

      void setRowId(int parameterIndex, RowId x) throws SQLException
      指定されたパラメータを指定されたjava.sql.RowIdオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL ROWID値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータは1、2番目のパラメータは2、... となる
      x - パラメータ値
      例外:
      SQLException - parameterIndexがSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされたPreparedStatementで呼び出された場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.6
    • setNString

      void setNString(int parameterIndex, String value) throws SQLException
      指定されたパラメータを指定されたStringオブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL NCHARNVARCHAR、または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オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL NCLOB値に変換します。
      パラメータ:
      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メソッドを使用すると、ドライバは、パラメータ・データをLONGVARCHARCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。
      パラメータ:
      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メソッドを使用すると、ドライバは、パラメータ・データをLONGVARBINARYBLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。
      パラメータ:
      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メソッドを使用すると、ドライバは、パラメータ・データをLONGNVARCHARNCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。
      パラメータ:
      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オブジェクトに設定します。 データベースに送るときに、ドライバはこれをSQL XML値に変換します。
      パラメータ:
      parameterIndex - 最初のパラメータのインデックスは1、2番目のパラメータのインデックスは2、... となる
      xmlObject - SQL XML値をマッピングするSQLXMLオブジェクト
      例外:
      SQLException - parameterIndexが指定されたSQL文のパラメータ・マーカーに対応しない場合、データベース・アクセス・エラーが発生した場合、このメソッドがクローズされたPreparedStatementまたはjava.xml.transform.Resultで呼び出された場合、WriterまたはOutputStreamSQLXMLオブジェクトに対してクローズされていない場合
      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データ・ストリームへ書き込む必要があります。 また、オブジェクトがRefBlobClobNClobStructjava.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
    • 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メソッドを使用すると、ドライバは、パラメータ・データをLONGVARCHARCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。

      ノート: 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メソッドを使用すると、ドライバは、パラメータ・データをLONGVARBINARYBLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。

      ノート: 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メソッドを使用すると、ドライバは、パラメータ・データをLONGNVARCHARNCLOBのどちらとしてサーバーに送信するべきかを判断するために余計な作業を行う必要がある可能性があります。

      ノート: 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データ・ストリームへ書き込む必要があります。 また、オブジェクトがRefBlobClobNClobStructjava.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
      関連項目:
      JDBCType, SQLType
    • 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
      関連項目:
      JDBCType, SQLType
    • 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