|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
プリコンパイルされた SQL 文を表すオブジェクトです。
SQL 文は、プリコンパイルされ、PreparedStatement オブジェクトに格納されています。そこで、このオブジェクトは、この文を複数回効率的に実行する目的で使用できます。
注: IN パラメータ値を設定する setXXX メソッドは、入力パラメータの定義された SQL タイプと互換のあるタイプを指定しなければなりません。たとえば、IN パラメータには Integer という SQL タイプがあるので、setInt
メソッドを使用しなければなりません。
任意のパラメータタイプ変換が必要な場合は、setObject
メソッドは、目的の SQL タイプで使用しなければなりません。
パラメータ設定の例 (con
はアクティブな接続)
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
Connection.prepareStatement(java.lang.String)
,
ResultSet
メソッドの概要 | |
void |
addBatch()
JDBC 2.0 バッチにパラメータのセットを追加します。 |
void |
clearParameters()
現在のパラメータ値をすぐにクリアします。 |
boolean |
execute()
あらゆる種類の SQL 文を実行します。 |
ResultSet |
executeQuery()
この PreparedStatement オブジェクトの SQL クエリーを実行し、そのクエリーによって生成された結果セットを返します。 |
int |
executeUpdate()
この PreparedStatement オブジェクトの SQL INSERT 文、UPDATE 文、または DELETE 文を実行します。 |
ResultSetMetaData |
getMetaData()
JDBC 2.0 ResultSet のカラムの数、タイプ、およびプロパティを取得します。 |
void |
setArray(int i,
Array x)
JDBC 2.0 Array パラメータを設定します。 |
void |
setAsciiStream(int parameterIndex,
InputStream x,
int length)
指定されたパラメータを、指定されたバイト数を持つ指定された入力ストリームに設定します。 |
void |
setBigDecimal(int parameterIndex,
BigDecimal x)
指定されたパラメータを java.lang.BigDecimal 値に設定します。 |
void |
setBinaryStream(int parameterIndex,
InputStream x,
int length)
指定されたパラメータを、指定された数のバイトを持つ指定された入力ストリームに設定します。 |
void |
setBlob(int i,
Blob x)
JDBC 2.0 BLOB パラメータを設定します。 |
void |
setBoolean(int parameterIndex,
boolean x)
指定されたパラメータを Java の boolean 値に設定します。 |
void |
setByte(int parameterIndex,
byte x)
指定されたパラメータを Java の byte 値に設定します。 |
void |
setBytes(int parameterIndex,
byte[] x)
指定されたパラメータを Java の byte 配列に設定します。 |
void |
setCharacterStream(int parameterIndex,
Reader reader,
int length)
JDBC 2.0 指定されたパラメータを、指定された文字数である指定された Reader オブジェクトに設定します。 |
void |
setClob(int i,
Clob x)
JDBC 2.0 CLOB パラメータを設定します。 |
void |
setDate(int parameterIndex,
Date x)
指定されたパラメータを java.sql.Date 値に設定します。 |
void |
setDate(int parameterIndex,
Date x,
Calendar cal)
JDBC 2.0 指定された 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 |
setNull(int parameterIndex,
int sqlType)
指定されたパラメータを SQL NULL に設定します。 |
void |
setNull(int paramIndex,
int sqlType,
String typeName)
JDBC 2.0 指定されたパラメータを 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 scale)
パラメータの値を、オブジェクトを使用して設定します。 |
void |
setRef(int i,
Ref x)
JDBC 2.0 REF(<構造化型>) パラメータを設定します。 |
void |
setShort(int parameterIndex,
short x)
指定されたパラメータを Java の short 値に設定します。 |
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)
JDBC 2.0 指定された Calendar オブジェクトを使用して、指定されたパラメータを java.sql.Time 値に設定します。 |
void |
setTimestamp(int parameterIndex,
Timestamp x)
指定されたパラメータを java.sql.Timestamp 値に設定します。 |
void |
setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
JDBC 2.0 指定された Calendar オブジェクトを使用して、指定されたパラメータを java.sql.Timestamp 値に設定します。 |
void |
setUnicodeStream(int parameterIndex,
InputStream x,
int length)
推奨されません。 |
メソッドの詳細 |
public ResultSet executeQuery() throws SQLException
PreparedStatement
オブジェクトの SQL クエリーを実行し、そのクエリーによって生成された結果セットを返します。public int executeUpdate() throws SQLException
PreparedStatement
オブジェクトの SQL INSERT 文、UPDATE 文、または DELETE 文を実行します。さらに、SQL DDL 文のような何も返さない SQL 文を実行することもできます。public void setNull(int parameterIndex, int sqlType) throws SQLException
注: パラメータの SQL タイプを指定しなければなりません。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするsqlType
- java.sql.Types で定義される SQL タイプコードpublic void setBoolean(int parameterIndex, boolean x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setByte(int parameterIndex, byte x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setShort(int parameterIndex, short x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setInt(int parameterIndex, int x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setLong(int parameterIndex, long x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setFloat(int parameterIndex, float x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setDouble(int parameterIndex, double x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setString(int parameterIndex, String x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setBytes(int parameterIndex, byte[] x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするpublic void setDate(int parameterIndex, Date x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setTime(int parameterIndex, Time x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- パラメータ値public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
注: このストリームオブジェクトは、標準の Java ストリームオブジェクトまたは標準のインタフェースを実装した独自のサブクラスであってもかまいません。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- ASCII パラメータ値を含む Java 入力ストリームlength
- ストリームのバイト数public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
注: このストリームオブジェクトは、標準の Java ストリームオブジェクトまたは標準のインタフェースを実装した独自のサブクラスであってもかまいません。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- Unicode パラメータ値を含む Java 入力ストリームlength
- ストリームのバイト数public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
注: このストリームオブジェクトは、標準の Java ストリームオブジェクトまたは標準のインタフェースを実装した独自のサブクラスであってもかまいません。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- バイナリパラメータ値を含む Java 入力ストリームlength
- ストリームのバイト数public void clearParameters() throws SQLException
Statement を繰り返し使用するために、パラメータ値は強制的に残されます。パラメータ値を設定すると、前の値は自動的にクリアされます。しかし、現パラメータ値によって使用されたリソースをただちに解放した方が役に立つ場合があります。これは、clearParameters を呼び出して実行することができます。
public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException
パラメータの値を、オブジェクトを使用して設定します。2 番目の引数は、オブジェクトのタイプでなければなりません。必要となるすべての値に対して、等価な java.lang オブジェクトを使用する必要があります。
指定された Java オブジェクトは、データベースに送られる前に、targetSqlType に変換されます。
オブジェクトが SQLData を実装するクラスのカスタムマッピングを持つ場合、JDBC ドライバは writeSQL
メソッドを呼び出して、そのオブジェクトを SQL データストリームへ書き込む必要があります。
また、オブジェクトが Ref、Blob、Clob、Struct、または Array を実装するクラスの場合、ドライバは対応する SQL タイプの値としてオブジェクトをデータベースに渡さなければなりません。
このメソッドは、データベース固有の抽象データタイプを渡すために使用することに注意してください。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- 入力パラメータ値を含むオブジェクトtargetSqlType
- データベースに送られる (java.sql.Types で定義される) SQL タイプ。スケール引数で、さらにタイプを限定できるscale
- java.sql.Types.DECIMAL や java.sql.Types.NUMERIC タイプでは、小数点以下の桁数。ほかのすべてのタイプでは、この値は無視されるTypes
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- 入力パラメータ値を含むオブジェクトtargetSqlType
- データベースに送られる (java.sql.Types で定義される) SQL タイプpublic void setObject(int parameterIndex, Object x) throws SQLException
パラメータの値を、オブジェクトを使用して設定します。必要となるすべての値に対して等価な java.lang オブジェクトを使用します。
JDBC は、Java の Object タイプから SQL タイプへの標準のマッピングを指定しています。引数に指定された Java オブジェクトは、データベースに送られる前に、対応する SQL 型に変換されます。
このメソッドは、ドライバ固有の Java タイプを使用して、データベース固有の抽象データタイプを渡すために使用することに注意してください。
オブジェクトが SQLData を実装するクラスの場合、JDBC ドライバは writeSQL
メソッドを呼び出して、そのオブジェクトを SQL データストリームへ書き込む必要があります。また、オブジェクトが Ref、Blob、Clob、Struct、または Array を実装するクラスの場合、ドライバは対応する SQL タイプの値としてオブジェクトをデータベースに渡す必要があります。
たとえば、オブジェクトが複数のインタフェースを実装するクラスであるなど、あいまいさがある場合、このメソッドは例外をスローします。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- 入力パラメータ値を含むオブジェクトpublic boolean execute() throws SQLException
Statement.execute(java.lang.String)
public void addBatch() throws SQLException
バッチにパラメータのセットを追加します。
Statement.addBatch(java.lang.String)
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
指定されたパラメータを、指定された文字数である指定された Reader
オブジェクトに設定します。LONGVARCHAR パラメータに非常に大きな Unicode 値を入力するときには、java.io.Reader を介して送るほうが現実的です。JDBC は、ファイルの終わりに達するまで必要に応じてストリームからデータを読み込みます。JDBC ドライバは、データを Unicode からデータベースの char 形式に変換します。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするreader
- Unicode データを含む Java リーダlength
- ストリーム内の文字数public void setRef(int i, Ref x) throws SQLException
REF(<構造化型>) パラメータを設定します。
i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- SQL REF 型のデータを表すオブジェクトpublic void setBlob(int i, Blob x) throws SQLException
BLOB パラメータを設定します。
i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- BLOB を表すオブジェクトpublic void setClob(int i, Clob x) throws SQLException
CLOB パラメータを設定します。
i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- CLOB を表すオブジェクトpublic void setArray(int i, Array x) throws SQLException
Array パラメータを設定します。
i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするx
- SQL 配列を表すオブジェクトpublic ResultSetMetaData getMetaData() throws SQLException
ResultSet のカラムの数、タイプ、およびプロパティを取得します。
public 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
オブジェクトpublic 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
オブジェクトpublic 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
オブジェクトpublic void setNull(int paramIndex, 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 でもない場合は無視される
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |