|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
SQL ストアドプロシージャを実行するのに使用されるインタフェースです。JDBC は、ストアドプロシージャ SQL エスケープ構文を提供します。これにより、すべての RDBMS に対し標準の方法でストアドプロシージャを呼び出せます。このエスケープ構文には、結果パラメータを含めるものと含めないものとがあります。使用するには、結果パラメータは OUT パラメータとして登録しなければなりません。ほかのパラメータは入出力両方に使用できます。パラメータは、番号により順番に参照されます。最初のパラメータは 1 です。
{?= call <procedure-name>[<arg1>,<arg2>, ...]} {call <procedure-name>[<arg1>,<arg2>, ...]}
IN パラメータ値は、PreparedStatement
から継承した set メソッドを使用して設定されます。すべての OUT パラメータのタイプはストアドプロシージャの実行前に登録しなければなりません。それらの値は、ここで提供される get
メソッドの実行後に取り出されます。
CallableStatement
は、1 つまたは複数の ResultSet
オブジェクトを返すことがあります。複数の ResultSet
オブジェクトは Statement
から継承した操作で処理されます。
移植性を最大限にするには、出力パラメータを得る前に、呼び出しの ResultSet
オブジェクトと更新カウントを処理しなければなりません。
JDBC 2.0 API に新しく追加されたメソッドには、「導入されたバージョン: 1.2」と表示されています。
Connection.prepareCall(java.lang.String)
,
ResultSet
メソッドの概要 | |
Array |
getArray(int i)
JDBC ARRAY パラメータの値を Java プログラミング言語の Array オブジェクトとして取得します。 |
BigDecimal |
getBigDecimal(int parameterIndex)
JDBC NUMERIC パラメータの値を、その値と同じ小数点以下の桁数を持つ java.math.BigDecimal オブジェクトとして取得します。 |
BigDecimal |
getBigDecimal(int parameterIndex,
int scale)
推奨されていません。 |
Blob |
getBlob(int i)
JDBC BLOB パラメータの値を Java プログラミング言語の Blob オブジェクトとして取得します。 |
boolean |
getBoolean(int parameterIndex)
JDBC BIT パラメータの値を Java プログラミング言語の boolean として取得します。 |
byte |
getByte(int parameterIndex)
JDBC TINYINT パラメータの値を Java プログラミング言語の byte として取得します。 |
byte[] |
getBytes(int parameterIndex)
JDBC の BINARY パラメータまたは VARBINARY パラメータの値を Java プログラミング言語の byte 値の配列として取得します。 |
Clob |
getClob(int i)
JDBC CLOB パラメータの値を Java プログラミング言語の Clob オブジェクトとして取得します。 |
Date |
getDate(int parameterIndex)
JDBC DATE パラメータの値を java.sql.Date オブジェクトとして取得します。 |
Date |
getDate(int parameterIndex,
Calendar cal)
JDBC DATE パラメータの値を java.sql.Date オブジェクトとして取得します。 |
double |
getDouble(int parameterIndex)
JDBC DOUBLE パラメータの値を Java プログラミング言語の double として取得します。 |
float |
getFloat(int parameterIndex)
JDBC FLOAT パラメータの値を Java プログラミング言語の float として取得します。 |
int |
getInt(int parameterIndex)
JDBC INTEGER パラメータの値を Java プログラミング言語の int として取得します。 |
long |
getLong(int parameterIndex)
JDBC BIGINT パラメータの値を Java プログラミング言語の long として取得します。 |
Object |
getObject(int parameterIndex)
パラメータの値を Java プログラミング言語の Object として取得します。
|
Object |
getObject(int i,
Map map)
OUT パラメータ i の値を表すオブジェクトを返し、map を使用してそのパラメータ値のカスタムマッピングを行います。
|
Ref |
getRef(int i)
JDBC REF(<structured-type>) パラメータの値を Java プログラミング言語の Ref オブジェクトとして取得します。 |
short |
getShort(int parameterIndex)
JDBC SMALLINT パラメータの値を Java プログラミング言語の short として取得します。 |
String |
getString(int parameterIndex)
JDBC の CHAR 、VARCHAR 、または LONGVARCHAR パラメータの値を Java プログラミング言語の String として取り出します。
|
Time |
getTime(int parameterIndex)
JDBC TIME パラメータの値を java.sql.Time オブジェクトとして取得します。 |
Time |
getTime(int parameterIndex,
Calendar cal)
JDBC TIME パラメータの値を java.sql.Time オブジェクトとして取得します。 |
Timestamp |
getTimestamp(int parameterIndex)
JDBC TIMESTAMP パラメータの値を java.sql.Timestamp オブジェクトとして取得します。 |
Timestamp |
getTimestamp(int parameterIndex,
Calendar cal)
JDBC TIMESTAMP パラメータの値を java.sql.Timestamp オブジェクトとして取得します。 |
void |
registerOutParameter(int parameterIndex,
int sqlType)
順番 parameterIndex の OUT パラメータを JDBC タイプの sqlType に登録します。 |
void |
registerOutParameter(int parameterIndex,
int sqlType,
int scale)
順番 parameterIndex のパラメータを JDBC タイプの sqlType に登録します。 |
void |
registerOutParameter(int paramIndex,
int sqlType,
String typeName)
指定された出力パラメータを登録します。 |
boolean |
wasNull()
最後に読み込まれた OUT パラメータの値が SQL NULL かどうかを示します。 |
インタフェース java.sql.PreparedStatement から継承したメソッド |
addBatch, clearParameters, execute, executeQuery, executeUpdate, getMetaData, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNull, setNull, setObject, setObject, setObject, setRef, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream |
メソッドの詳細 |
public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
parameterIndex
の OUT パラメータを JDBC タイプの sqlType
に登録します。ストアドプロシージャが実行される前に、すべての OUT パラメータを登録する必要があります。
OUT パラメータ用に sqlType
によって指定された JDBC タイプは、そのパラメータの値を読み込むために get
メソッドで使用する必要のある Java タイプを判定します。
この出力パラメータに返されることになっている JDBC タイプがこの特定のデータベースに固有である場合、sqlType
は java.sql.Types.OTHER
でなければなりません。getObject(int)
メソッドは値を取り出します。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするsqlType
- java.sql.Types
によって定義される JDBC タイプコード。パラメータが JDBC タイプ NUMERIC
または DECIMAL
の場合、スケール値を受け入れるバージョンの registerOutParameter
を使用するSQLException
- データベースアクセスエラーが発生した場合Types
public void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException
parameterIndex
のパラメータを JDBC タイプの sqlType
に登録します。このメソッドは、ストアドプロシージャが実行される前に呼び出さなければなりません。
OUT パラメータ用に sqlType
によって指定された JDBC タイプは、そのパラメータの値を読み込むために get
メソッドで使用する必要のある Java タイプを判定します。
パラメータが JDBC タイプ NUMERIC
または DECIMAL
の場合は、このバージョンの registerOutParameter
を使用しなければなりません。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするsqlType
- java.sql.Types
によって定義される SQL タイプコードscale
- 希望の小数点以下の桁数。0 以上の数値を指定するSQLException
- データベースアクセスエラーが発生した場合Types
public boolean wasNull() throws SQLException
NULL
かどうかを示します。このメソッドを呼び出すのは、getXXX
メソッドの呼び出しのあとでなければなりません。そうでない場合は、null
かどうかを判別するために使用する値がありません。NULL
の場合は true
、そうでない場合は false
SQLException
- データベースアクセスエラーが発生した場合public String getString(int parameterIndex) throws SQLException
CHAR
、VARCHAR
、または LONGVARCHAR
パラメータの値を Java プログラミング言語の String
として取り出します。
固定長 JDBC CHAR
タイプの場合、返される String
オブジェクトはデータベースで JDBC CHAR
が持つ値と正確に同じ値 (データベースが付加するパディングを含む) を持ちます。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public boolean getBoolean(int parameterIndex) throws SQLException
BIT
パラメータの値を Java プログラミング言語の boolean
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は false
SQLException
- データベースアクセスエラーが発生した場合public byte getByte(int parameterIndex) throws SQLException
TINYINT
パラメータの値を Java プログラミング言語の byte
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は 0SQLException
- データベースアクセスエラーが発生した場合public short getShort(int parameterIndex) throws SQLException
SMALLINT
パラメータの値を Java プログラミング言語の short
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は 0SQLException
- データベースアクセスエラーが発生した場合public int getInt(int parameterIndex) throws SQLException
INTEGER
パラメータの値を Java プログラミング言語の int
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は 0SQLException
- データベースアクセスエラーが発生した場合public long getLong(int parameterIndex) throws SQLException
BIGINT
パラメータの値を Java プログラミング言語の long
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は 0SQLException
- データベースアクセスエラーが発生した場合public float getFloat(int parameterIndex) throws SQLException
FLOAT
パラメータの値を Java プログラミング言語の float
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は 0SQLException
- データベースアクセスエラーが発生した場合public double getDouble(int parameterIndex) throws SQLException
DOUBLE
パラメータの値を Java プログラミング言語の double
として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は 0SQLException
- データベースアクセスエラーが発生した場合public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException
NUMERIC
パラメータの値を、scale で指定された小数点以下の桁数を持つ java.math.BigDecimal
オブジェクトとして取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするscale
- 小数点以下の桁数NULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public byte[] getBytes(int parameterIndex) throws SQLException
BINARY
パラメータまたは VARBINARY
パラメータの値を Java プログラミング言語の byte
値の配列として取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Date getDate(int parameterIndex) throws SQLException
DATE
パラメータの値を java.sql.Date
オブジェクトとして取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Time getTime(int parameterIndex) throws SQLException
TIME
パラメータの値を java.sql.Time
オブジェクトとして取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Timestamp getTimestamp(int parameterIndex) throws SQLException
TIMESTAMP
パラメータの値を java.sql.Timestamp
オブジェクトとして取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Object getObject(int parameterIndex) throws SQLException
Object
として取得します。
このメソッドは、Java オブジェクトを返します。そのオブジェクトのタイプは、registerOutParameter
メソッドを使用して登録された JDBC タイプに対応します。ターゲットの JDBC タイプを java.sql.Types.OTHER
として登録することで、このメソッドを使用してデータベース固有の抽象データタイプを読み込むことができます。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするjava.lang.Object
SQLException
- データベースアクセスエラーが発生した場合Types
public BigDecimal getBigDecimal(int parameterIndex) throws SQLException
NUMERIC
パラメータの値を、その値と同じ小数点以下の桁数を持つ java.math.BigDecimal
オブジェクトとして取得します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Object getObject(int i, Map map) throws SQLException
i
の値を表すオブジェクトを返し、map
を使用してそのパラメータ値のカスタムマッピングを行います。
このメソッドは、Java オブジェクトを返します。そのオブジェクトのタイプは、registerOutParameter
メソッドを使用して登録された JDBC タイプに対応します。ターゲットの JDBC タイプを java.sql.Types.OTHER
として登録することで、このメソッドを使用してデータベース固有の抽象データタイプを読み込むことができます。
i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするmap
- SQL タイプ名から Java クラスへのマッピングjava.lang.Object
SQLException
- データベースアクセスエラーが発生した場合public Ref getRef(int i) throws SQLException
REF(<structured-type>)
パラメータの値を Java プログラミング言語の Ref
オブジェクトとして取得します。i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするRef
オブジェクトとして表されたパラメータ値。値が SQL NULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Blob getBlob(int i) throws SQLException
BLOB
パラメータの値を Java プログラミング言語の Blob
オブジェクトとして取得します。i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするBlob
オブジェクトとして表されたパラメータ値。値が SQL NULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Clob getClob(int i) throws SQLException
CLOB
パラメータの値を Java プログラミング言語の Clob
オブジェクトとして取得します。i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするClob
オブジェクトとして表されたパラメータ値。値が SQL NULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Array getArray(int i) throws SQLException
ARRAY
パラメータの値を Java プログラミング言語の Array
オブジェクトとして取得します。i
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするArray
オブジェクトとして表されたパラメータ値。値が SQL NULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Date getDate(int parameterIndex, Calendar cal) throws SQLException
DATE
パラメータの値を java.sql.Date
オブジェクトとして取得します。日付の作成には、指定された Calendar
オブジェクトを使用します。Calendar
オブジェクトを使用すると、ドライバはカスタムタイムゾーンおよびロケールを考慮して日付を計算できます。Calendar
オブジェクトを指定しない場合、ドライバはデフォルトのタイムゾーンおよびロケールを使用します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするcal
- ドライバが日付を作成するために使用する Calendar
オブジェクトNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Time getTime(int parameterIndex, Calendar cal) throws SQLException
TIME
パラメータの値を java.sql.Time
オブジェクトとして取得します。時刻の作成には、指定された Calendar
オブジェクトを使用します。Calendar
オブジェクトを使用すると、ドライバはカスタムタイムゾーンおよびロケールを考慮して時刻を計算できます。Calendar
オブジェクトを指定しない場合、ドライバはデフォルトのタイムゾーンおよびロケールを使用します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするcal
- ドライバが時間を作成するために使用する Calendar
オブジェクトNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException
TIMESTAMP
パラメータの値を java.sql.Timestamp
オブジェクトとして取得します。Timestamp
オブジェクトの作成には、指定された Calendar
オブジェクトを使用します。Calendar
オブジェクトを使用すると、ドライバはカスタムタイムゾーンおよびロケールを考慮してタイムスタンプを計算できます。Calendar
オブジェクトを指定しない場合、ドライバはデフォルトのタイムゾーンおよびロケールを使用します。parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするcal
- ドライバがタイムスタンプを作成するために使用する Calendar
オブジェクトNULL
の場合は null
SQLException
- データベースアクセスエラーが発生した場合public void registerOutParameter(int paramIndex, int sqlType, String typeName) throws SQLException
registerOutParameter
メソッドを使用します。ユーザ命名タイプの例には、STRUCT、DISTINCT、JAVA_OBJECT、および名前付き配列があります。
ストアドプロシージャの呼び出しを実行する前に、registerOutParameter
を明示的に呼び出して、各 OUT パラメータのタイプを java.sql.Types
から登録する必要があります。ユーザ命名パラメータの場合は、そのパラメータの完全指定された SQL タイプ名も指定します。REF パラメータでは、参照されるタイプの完全指定されたタイプ名を指定する必要があります。タイプコードやタイプ名の情報を必要としない JDBC ドライバはそれを無視します。ただし、ポーテビリティを実現するには、アプリケーションはユーザ命名パラメータおよび REF パラメータのそれらの値を提供しなければなりません。
ユーザ命名パラメータおよび REF パラメータを対象としていますが、このメソッドは任意の JDBC タイプのパラメータを登録するために使用できます。パラメータがユーザ命名タイプまたは REF タイプを持たない場合、typeName パラメータは無視されます。
注: 出力パラメータの値を読み込むときには、Java タイプ XXX がパラメータの登録されている SQL タイプに対応する getXXX
メソッドを使用する必要があります。
parameterIndex
- 最初のパラメータは 1、2 番目のパラメータは 2、などとするsqlType
- Types
からの値typeName
- SQL 構造化型の完全指定された名前SQLException
- データベースアクセスエラーが発生した場合Types
,
「JDBC 2.0 API に含まれるもの」
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.