モジュール 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はアクティブな接続を表します。

       PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                         SET SALARY = ? WHERE ID = ?");
       pstmt.setBigDecimal(1, 153833.00)
       pstmt.setInt(2, 110592)
     

    導入されたバージョン:
    1.1
    関連項目:
    Connection.prepareStatement(java.lang.String)ResultSet
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 非推奨のメソッド 
      修飾子と型 メソッド 説明
      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, 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値に設定します。
    • メソッドの詳細

      • 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