|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.sql.rowset.BaseRowSet
public abstract class BaseRowSet
RowSet
オブジェクトとその基本機能を提供する抽象クラスです。基本機能には、すべての JavaBeansTM コンポーネントが実装しなければならない機能が含まれます。たとえばプロパティを持つ機能、イベント通知を送信する機能などがあります。
BaseRowSet
クラスは、すべての RowSet
実装の主要機能を提供します。すべての標準実装は、このクラスと 1 個以上の RowSet
インタフェースを組み合わせて使用することにより、ベンダー固有の標準実装を提供することができます。わかりやすく述べると、すべての実装は少なくとも 1 つの RowSet
インタフェース (JdbcRowSet
、CachedRowSet
、JoinRowSet
、FilteredRowSet
、または WebRowSet
) を実装する必要があります。つまり、BaseRowSet
クラスを拡張するすべての実装についても、いずれかの RowSet
インタフェースを実装する必要があります。
BaseRowSet
クラスは以下の機能を提供します。
RowSet
オブジェクトのコマンドにパラメータを設定する設定メソッドの完全なセット
RowSet
実装の機能とデータの取得方法によって異なります。たとえば、ResultSet
オブジェクトからデータを取得する行セットは、データベース接続を作成するために必要なプロパティを設定する必要があります。RowSet
オブジェクトが DriverManager
機能を使って接続を作成する場合は、適切なドライバを識別する JDBC URL のプロパティと、ユーザー名とパスワードを指定するプロパティを設定する必要があります。一方、行セットが DataSource
オブジェクトを使って接続を作成する場合 (この方法が優先される) は、JDBC URL のプロパティを設定する必要はありません。代わりに、データソースの論理名のプロパティとユーザー名およびパスワードのプロパティを設定する必要があります。
注: DataSource
オブジェクトを使って接続を作成する場合は、Java Naming and Directory InterfaceTM (JNDI) API を使用するネームサービスに、DataSource
オブジェクトを登録する必要があります。登録は通常、システム管理者が行います。
ResultSet
オブジェクトを生成するコマンド (クエリー) を実行します。このクエリーは、RowSet
オブジェクトのコマンドプロパティに設定されるコマンドです。行セットは、ResultSet
オブジェクトからデータを読み込んで、自身にデータを移植します。クエリーに未設定の値のプレースホルダが含まれている場合、BaseRowSet
設定メソッドを使って、これらの値を設定できます。どの設定メソッドでも、必要に応じて null
値を設定できます。
次のコードの抜粋は、CachedRowSet
TM オブジェクト crs
にコマンドプロパティを設定する方法を示しています。ツールを使ってプロパティを設定する場合、このコードを使用します。
crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + "WHERE CREDIT_LIMIT > ? AND REGION = ?");
この例では、CREDIT_LIMIT
と REGION
がパラメータのプレースホルダになっています。疑問符 (?) の位置にパラメータを指定します。最初の疑問符はパラメータ番号 1
、2 番目の疑問符はパラメータ番号 2
のプレースホルダ (以下同様) です。クエリーを実行するためには、あらかじめプレースホルダパラメータを設定しておく必要があります。BaseRowSet
クラスは、プレースホルダパラメータの設定に必要な設定メソッドを提供します。この設定メソッドは、PreparedStatement
インタフェースがデータ型の値を設定するために提供するメソッドとよく似ています。RowSet
オブジェクトは、パラメータ値を内部で格納します。このオブジェクトの execute
メソッドは、格納されたパラメータ値を内部で利用して、実行する DBMS にコマンドを送信する前にプレースホルダパラメータの値を設定します。
次のコードの抜粋は、先ほどの例で、クエリー内の 2 つのパラメータを設定する方法を示しています。
crs.setInt(1, 5000); crs.setString(2, "West");この時点で
execute
メソッドを呼び出すとすると、DBMS に送信されるクエリーは次のようになります。"SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + "WHERE CREDIT_LIMIT > 5000 AND REGION = 'West'"注:
Array
、Clob
、Blob
および Ref
オブジェクトをコマンドパラメータとして設定すると、これらの値はそれぞれ SerialArray
、SerialClob
、SerialBlob
、および SerialRef
オブジェクトとして保存されます。BaseRowSet
クラスは、プロパティを設定する設定メソッドと、プレースホルダパラメータを設定する設定メソッドを提供します。このセクションでは、プレースホルダパラメータを設定する設定メソッドについて説明します。
BaseRowSet
設定メソッドで設定されたプレースホルダパラメータは、内部の Hashtable
オブジェクトにオブジェクトとして格納されます。プリミティブは Object
型として格納されます。たとえば、byte
は Byte
オブジェクト、int
は Integer
オブジェクトとして格納されます。execute
メソッドが呼び出されると、Hashtable
オブジェクト内の値が、コマンド内の適切なプレースホルダパラメータに代入されます。
getParams
メソッドを呼び出すと、Hashtable
オブジェクトに格納された値が Object
インスタンスの配列として返されます。この配列内の要素は、単純な Object
インスタンスか Object
型の配列になります。配列内の要素が Object
になるか配列になるかは、使用する設定メソッドによって異なります。
プレースホルダパラメータを設定するほとんどのメソッドは、2 つのパラメータを取ります。第 1 のパラメータで設定するプレースホルダパラメータを指定し、第 2 のパラメータで設定する値を指定します。該当メソッドには、getInt
、getString
、getBoolean
、getLong
などがあります。これらのメソッドを呼び出したあと、getParams
を呼び出すと、設定された値から成る配列が返されます。配列内の各値は、設定された値を表す Object
インスタンスになります。配列内の値の並び順は、設定メソッドに渡される int
(第 1 のパラメータ) によって決定されます。配列内の値は、設定メソッドに渡される値 (第 2 のパラメータ) になります。つまり、配列内の第 1 の要素が、RowSet
オブジェクトのコマンドで第 1 のプレースホルダパラメータに設定され、配列内の第 2 の要素が、第 2 のプレースホルダパラメータに設定される (以下同様) ということになります。
設定する値以外に、ドライバと DBMS の情報を送信する設定メソッドもあります。このような設定メソッドの使用後に getParams
メソッドを呼び出すと、追加情報を格納するため、配列内の要素自体が配列になります。このような設定メソッドの特例として、1 つのバージョンがパラメータを 2 つしか取らない setNull
メソッドがあります (setNull(int parameterIndex, int SqlType)
)。ただし、このメソッドも、ドライバと DBMS に渡す情報を格納するため、配列を必要とします。この配列内の第 1 の要素は、設定する値 null
になります。第 2 の要素は、sqlType に代入される int
であり、null
に設定される SQL 値の型を示します。この情報は、一部の DBMS では必須です。したがって、アプリケーションの移植性を確保するためには、この情報が必須になります。ユーザ定義型を使って、値を null
に設定することもできます。この場合も、3 つのパラメータ (setNull(int parameterIndex, int sqlType, String typeName)
) を使用し、ドライバと DBMS に渡す情報を格納する配列が必要になります。この配列の最初の 2 つの要素は、先ほどの setNull
の場合と同じです。第 3 の要素 typeName は、ユーザ定義型の SQL 名を指定します。その他の設定メソッドと同じく、設定するプレースホルダパラメータの数は、getParams
によって返される配列内の要素の位置で表されます。たとえば、setNull
のパラメータが 2
の場合、getParams
によって返される配列内の第 2 の要素は、2 〜 3 個の要素から成る配列になります。
setObject
や setDate
をはじめとする一部のメソッドは、2 つ以上のパラメータと、ドライバまたは DBMS に情報を提供する追加のパラメータを取る場合があります。たとえば、setDate
メソッド、setTime
メソッド、setTimestamp
メソッドは、3 番目のパラメータとして Calendar
オブジェクトを取ることができます。DBMS にタイムゾーン情報が格納されていない場合、ドライバは Calendar
オブジェクトを使って、設定する Date
オブジェクト、Time
オブジェクト、または Timestamp
オブジェクトを作成します。追加情報を提供するその他のメソッドと同様に、getParams
から返される配列内の要素は、単純な Object
インスタンスではなく、配列になります。
setAsciiStream
、setBinaryStream
、setCharacterStream
、setUnicodeStream
の各メソッド (推奨されない。アプリケーションは、これらの代わりに getCharacterStream
を使用する必要がある) は、3 つのパラメータを取ります。したがって、この場合も、getParams
から返される配列内の要素は配列になります。これらの設定メソッドは、配列内に、パラメータによって提供される情報だけでなく、設定するストリームの型を示す BaseRowSet
定数が含まれているという点で、その他の設定メソッドと異なっています。
注: getParams
メソッドは、このクラスを拡張する RowSet
実装によって内部で呼び出されます。通常、アプリケーションプログラマによって直接呼び出されることはありません。
BaseRowSet
クラスは、行セットにイベント通知機構を提供します。このクラスには、listeners
フィールド、リスナーの追加と削除を行うメソッド、リスナーに変更を通知するメソッドが含まれます。
リスナーは、RowSetListener
インタフェースを実装するオブジェクトです。RowSet
オブジェクトのリスナーリストに追加されたリスナーは、その RowSet
オブジェクトで発生したイベントの通知を受けます。イベントの発生通知を受けたときのオブジェクトの動作は、各リスナーの RowSetListener
メソッドの実装によって定義されます。
RowSet
オブジェクトで発生する可能性があるイベントは、次の 3 種類です。
RowSet
オブジェクト全体の内容の変更
通知に使用される BaseRowSet
メソッドは、発生したイベントの型を示します。たとえば、notifyRowChanged
メソッドは、行が更新、削除、または挿入されたことを示します。各通知メソッドは、イベントの発生元の RowSet
オブジェクトを特定するためにリスナーに渡される、RowSetEvent
オブジェクトを作成します。リスナーがこの情報を利用して何を行うか (何も行わない場合もある) は、リスナーの実装によって異なります。
BaseRowSet
オブジェクトの初期化のときの開始値は、一定ではありません。BaseRowSet
クラスを拡張するデフォルトの RowSet
インスタンスには、次の特徴があります。
RowSet
オブジェクトのコマンドを実行するまでの時間に制限はない
BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、および LONGVARCHAR
)
null
に設定されている
RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定された値を格納するため、空の Vector
オブジェクトが用意されている
適切な値が異なる場合、アプリケーションは、その値を明示的に設定する必要があります。たとえば、次のコードは、CachedRowSet
オブジェクト crs に最大行数 500 を設定します。
crs.setMaxRows(500);この
BaseRowSet
クラスの拡張に実装されたメソッドは、定義済みの表明 (assertion) に対する違反があった場合、SQLException
オブジェクトをスローする必要があります。そのため、このメソッドは、クラスの拡張によって BaseRowSet
メソッドがオーバーライドされ、再実装されたあと、接続の問題または配下のデータソースの問題が検出された場合も、SQLException
オブジェクトをスローする可能性があります。
フィールドの概要 | |
---|---|
static int |
ASCII_STREAM_PARAM
ASCII ストリームのパラメータを持つ RowSetReaderImpl オブジェクトを示す定数です。 |
protected InputStream |
asciiStream
getAsciiStream メソッドから返される InputStream オブジェクトです。 |
static int |
BINARY_STREAM_PARAM
バイナリストリームのパラメータを持つ RowSetReaderImpl オブジェクトを示す定数です。 |
protected InputStream |
binaryStream
getBinaryStream メソッドから返される InputStream オブジェクトです。 |
protected Reader |
charStream
getCharacterStream メソッドから返される Reader オブジェクトです。 |
static int |
UNICODE_STREAM_PARAM
Unicode ストリームのパラメータを持つ RowSetReaderImpl オブジェクトを示す定数です。 |
protected InputStream |
unicodeStream
getUnicodeStream メソッドから返される InputStream オブジェクトです。 |
コンストラクタの概要 | |
---|---|
BaseRowSet()
デフォルトの Vector オブジェクトを使用して初期化を実行し、listeners フィールド用の新しい BaseRowSet オブジェクトを作成します。 |
メソッドの概要 | |
---|---|
void |
addRowSetListener(RowSetListener listener)
リスナーは、この RowSet オブジェクトでイベントが発生するたびに通知を受けます。 |
void |
clearParameters()
この RowSet オブジェクトのコマンドの実行時に設定されるパラメータの内部表現に含まれる、現在のパラメータ値をすべて消去します。 |
String |
getCommand()
この RowSet オブジェクトのコマンドになっている SQL クエリーを取得します。 |
int |
getConcurrency()
この RowSet オブジェクトの並行性を返します。 |
String |
getDataSourceName()
Java Naming and Directory Interface (JNDI) API を使用するネームサービスに提供されると javax.sql.DataSource オブジェクトを取得する論理名を返します。 |
boolean |
getEscapeProcessing()
この RowSet オブジェクトでエスケープ処理が有効になっているかどうかを確認します。 |
int |
getFetchDirection()
この RowSet オブジェクトの現在のフェッチ方向の設定を取得します。 |
int |
getFetchSize()
この RowSet オブジェクトのフェッチサイズを返します。 |
int |
getMaxFieldSize()
この RowSet オブジェクト内の列の値として使用可能な最大バイト数を取得します。 |
int |
getMaxRows()
この RowSet オブジェクトに含めることのできる最大行数を取得します。 |
Object[] |
getParams()
この RowSet オブジェクトのコマンドに設定されたパラメータ値 (オブジェクトとプリミティブ) を含む配列を取得し、すべてのパラメータが設定されていない場合は SQLException オブジェクトをスローします。 |
String |
getPassword()
この RowSet オブジェクトのデータベース接続を作成するために使用するパスワードを返します。 |
int |
getQueryTimeout()
ドライバがクエリーの実行を待つ最大秒数を取得します。 |
boolean |
getShowDeleted()
削除マークが付けられた行を現在の行とともに表示するかどうかを示す boolean を取得します。 |
int |
getTransactionIsolation()
この RowSet オブジェクトの接続のトランザクション遮断プロパティを返します。 |
int |
getType()
この RowSet オブジェクトの型を返します。 |
Map<String,Class<?>> |
getTypeMap()
この RowSet オブジェクトの Connection オブジェクトに関連付けられた型マップを取得します。 |
String |
getUrl()
JDBC テクノロジを使用可能なドライバを使って、この RowSet オブジェクトの javax.sql.Reader オブジェクトがリレーショナルデータベースとの接続を作成するために使用する JDBC URL を取得します。 |
String |
getUsername()
データベース接続の作成に使用するユーザ名を返します。 |
protected void |
initParams()
BaseRowSet インスタンスの標準機能を使って JDBC RowSet 実装を起動するために必要な内部での構成および初期化を実行します。 |
boolean |
isReadOnly()
この RowSet オブジェクトが読み取り専用であるかどうかを示す boolean を返します。 |
protected void |
notifyCursorMoved()
この RowSet オブジェクトに登録されているすべてのリスナーに、カーソルが移動したことを通知します。 |
protected void |
notifyRowChanged()
この RowSet オブジェクトに登録されているすべてのリスナーに、行が変更されたことを通知します。 |
protected void |
notifyRowSetChanged()
この RowSet オブジェクトに登録されているすべてのリスナーに、コンテンツ全体が変更されたことを通知します。 |
void |
removeRowSetListener(RowSetListener listener)
この RowSet オブジェクトのリスナーリストから指定されたオブジェクトを削除します。 |
void |
setArray(int parameterIndex,
Array array)
指定されたパラメータを Java プログラミング言語の Array オブジェクトに設定します。 |
void |
setAsciiStream(int parameterIndex,
InputStream x,
int length)
指定されたパラメータを、指定されたバイト数を持つ java.io.InputStream オブジェクトに設定します。 |
void |
setBigDecimal(int parameterIndex,
BigDecimal x)
指定されたパラメータを、指定された java.lang.BigDecimal 値に設定します。 |
void |
setBinaryStream(int parameterIndex,
InputStream x,
int length)
指定されたパラメータを、指定されたバイト数を持つ java.io.InputStream オブジェクトに設定します。 |
void |
setBlob(int parameterIndex,
Blob x)
指定されたパラメータを、指定された Java プログラミング言語の Blob オブジェクトに設定します。 |
void |
setBoolean(int parameterIndex,
boolean x)
指定されたパラメータを、指定された Java プログラミング言語の boolean に設定します。 |
void |
setByte(int parameterIndex,
byte x)
指定されたパラメータを、指定された Java プログラミング言語の byte 値に設定します。 |
void |
setBytes(int parameterIndex,
byte[] x)
指定されたパラメータを、指定されたバイト配列に設定します。 |
void |
setCharacterStream(int parameterIndex,
Reader reader,
int length)
指定されたパラメータを、指定されたバイト数を持つ java.io.Reader オブジェクトに設定します。 |
void |
setClob(int parameterIndex,
Clob x)
指定されたパラメータを、指定された Java プログラミング言語の Clob オブジェクトに設定します。 |
void |
setCommand(String cmd)
この RowSet オブジェクトの command プロパティとして指定の String オブジェクトを設定し、パラメータがある場合は、以前のコマンド用に設定されたものなので消去します。 |
void |
setConcurrency(int concurrency)
この RowSet オブジェクトの並行性を指定された並行性に設定します。 |
void |
setDataSourceName(String name)
この RowSet オブジェクトの DataSource name プロパティとして指定の論理名を設定し、この RowSet オブジェクトの Url プロパティを null に設定します。 |
void |
setDate(int parameterIndex,
Date x)
指定されたパラメータを、指定された java.sql.Date 値に設定します。 |
void |
setDate(int parameterIndex,
Date x,
Calendar cal)
指定されたパラメータを、指定された java.sql.Date オブジェクトに設定します。 |
void |
setDouble(int parameterIndex,
double x)
指定されたパラメータを、指定された Java プログラミング言語の double 値に設定します。 |
void |
setEscapeProcessing(boolean enable)
データベースに SQL 文を送信する前に、ドライバがエスケープ構文をスキャンしてエスケープ置換を行うかどうかを示す指定の boolean に設定します。 |
void |
setFetchDirection(int direction)
この RowSet オブジェクト内の行が処理される方向について、ドライバにパフォーマンスヒントを与えます。 |
void |
setFetchSize(int rows)
この RowSet オブジェクトのフェッチサイズとして、指定の行数を設定します。 |
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 |
setMaxFieldSize(int max)
この RowSet オブジェクト内の列の値として使用可能な最大バイト数を設定します。 |
void |
setMaxRows(int max)
この RowSet オブジェクトに含めることのできる最大の行数を、指定した値に設定します。 |
void |
setNull(int parameterIndex,
int sqlType)
指定されたパラメータを SQL NULL に設定します。 |
void |
setNull(int parameterIndex,
int sqlType,
String typeName)
指定されたパラメータを SQL NULL に設定します。 |
void |
setObject(int parameterIndex,
Object x)
指定されたパラメータを Java プログラミング言語の Object に設定します。 |
void |
setObject(int parameterIndex,
Object x,
int targetSqlType)
指定されたパラメータの値を、指定された Object 値に設定します。 |
void |
setObject(int parameterIndex,
Object x,
int targetSqlType,
int scale)
指定されたパラメータを Java プログラミング言語の Object に設定します。 |
void |
setPassword(String pass)
この RowSet オブジェクトのデータベース接続を作成するために使用するパスワードとして、指定の String オブジェクトを設定します。 |
void |
setQueryTimeout(int seconds)
ドライバがクエリーの実行を待つ最大秒数を設定します。 |
void |
setReadOnly(boolean value)
この RowSet オブジェクトの readOnly プロパティとして boolean を設定します。 |
void |
setRef(int parameterIndex,
Ref ref)
指定されたパラメータを、指定された Java プログラミング言語の Ref オブジェクトに設定します。 |
void |
setShort(int parameterIndex,
short x)
指定されたパラメータを、指定された Java プログラミング言語の short 値に設定します。 |
void |
setShowDeleted(boolean value)
showDeleted プロパティとして、削除マーク付きの行を現在の行とともに表示するかどうかを指定する boolean を設定します。 |
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)
指定されたパラメータを、指定された java.sql.Time オブジェクトに設定します。 |
void |
setTimestamp(int parameterIndex,
Timestamp x)
指定されたパラメータを、指定された java.sql.Timestamp 値に設定します。 |
void |
setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
指定されたパラメータを、指定された java.sql.Timestamp オブジェクトに設定します。 |
void |
setTransactionIsolation(int level)
この JDBC RowSet オブジェクトのトランザクション遮断プロパティとして、指定の定数を設定します。 |
void |
setType(int type)
この RowSet オブジェクトに特定の型を設定します。 |
void |
setTypeMap(Map<String,Class<?>> map)
この RowSet オブジェクトの Connection オブジェクトに関連付けられた型マップとして、指定の java.util.Map オブジェクトをインストールします。 |
void |
setUnicodeStream(int parameterIndex,
InputStream x,
int length)
推奨されていません。 代わりに getCharacterStream を使用してください。 |
void |
setUrl(String url)
この RowSet オブジェクトの Url プロパティとして指定の String オブジェクトを設定し、dataSource name プロパティを null に設定します。 |
void |
setUsername(String name)
この RowSet オブジェクトの username プロパティとして、指定のユーザ名を設定します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final int UNICODE_STREAM_PARAM
RowSetReaderImpl
オブジェクトを示す定数です。この RowSetReaderImpl
オブジェクトは、SyncFactory
static ファクトリ SPI 機構で定義された抽象クラス SyncProvider
の拡張として提供されます。
public static final int BINARY_STREAM_PARAM
RowSetReaderImpl
オブジェクトを示す定数です。RowSetReaderImpl
オブジェクトは、SyncFactory
static ファクトリ SPI 機構で定義された抽象クラス SyncProvider
の拡張として提供されます。
public static final int ASCII_STREAM_PARAM
RowSetReaderImpl
オブジェクトを示す定数です。RowSetReaderImpl
オブジェクトは、SyncFactory
static ファクトリ SPI 機構で定義された抽象クラス SyncProvider
の拡張として提供されます。
protected InputStream binaryStream
getBinaryStream
メソッドから返される InputStream
オブジェクトです。このオブジェクトは、ResultSet
インタフェースに指定されています。
protected InputStream unicodeStream
getUnicodeStream
メソッドから返される InputStream
オブジェクトです。このオブジェクトは、ResultSet
インタフェースに指定されています。
protected InputStream asciiStream
getAsciiStream
メソッドから返される InputStream
オブジェクトです。このオブジェクトは、ResultSet
インタフェースに指定されています。
protected Reader charStream
getCharacterStream
メソッドから返される Reader
オブジェクトです。このオブジェクトは、ResultSet
インタフェースに指定されています。
コンストラクタの詳細 |
---|
public BaseRowSet()
Vector
オブジェクトを使用して初期化を実行し、listeners
フィールド用の新しい BaseRowSet
オブジェクトを作成します。初期化時に使用されるその他のデフォルト値は、このクラスのクラスコメントのセクション 6.0 に記載されています。
メソッドの詳細 |
---|
protected void initParams()
BaseRowSet
インスタンスの標準機能を使って JDBC RowSet
実装を起動するために必要な内部での構成および初期化を実行します。すべてのパラメータを正しく初期化するには、RowSet
オブジェクトの初期化後に、このメソッドを呼び出す必要があります。このメソッドは、アプリケーションからは呼び出されません。このメソッドを呼び出すのは、このクラスを拡張する RowSet
実装です。
public void addRowSetListener(RowSetListener listener)
RowSet
オブジェクトでイベントが発生するたびに通知を受けます。
リスナーの例として、現在の RowSet
オブジェクトの状態を正確に反映するために更新する必要がある表やグラフを挙げることができます。
注: RowSetListener
オブジェクトが null
の場合、このメソッドは通知なしで null
値を破棄し、リスナーのセットに null 参照を追加しません。
注: リスナーが設定済みの場合、すでにこの RowSet
からイベント通知を受けるための登録が完了しているリスナーのセットに、新しい RowSetListerner
インスタンスが追加されます。
listener
- javax.sql.RowSetListener
インタフェースを実装し、この RowSet
オブジェクトでイベントが発生したときに通知を受けるオブジェクト。null の場合もあるremoveRowSetListener(javax.sql.RowSetListener)
public void removeRowSetListener(RowSetListener listener)
RowSet
オブジェクトのリスナーリストから指定されたオブジェクトを削除します。登録済みのリスナー以外が引数として指定された場合、このメソッドは何も行いません。
注: RowSetListener
オブジェクトが null
の場合、このメソッドは通知なしで null
値を破棄します。
listener
- この RowSet
オブジェクトのリスナーリストに含まれる RowSetListener
オブジェクトaddRowSetListener(javax.sql.RowSetListener)
protected void notifyCursorMoved() throws SQLException
RowSet
オブジェクトに登録されているすべてのリスナーに、カーソルが移動したことを通知します。
アプリケーションがカーソルを移動するメソッドを呼び出すと、呼び出されたメソッドはカーソルを移動し、このメソッドを内部で呼び出します。アプリケーションがこのメソッドを直接呼び出すことはありません。
SQLException
- BaseRowSet
抽象クラスを拡張するクラスが RowSet
インタフェースまたはそのサブインタフェースを実装していない場合protected void notifyRowChanged() throws SQLException
RowSet
オブジェクトに登録されているすべてのリスナーに、行が変更されたことを通知します。
アプリケーションが、行を変更するメソッド (CachedRowSet
メソッド insertRow
、updateRow
、deleteRow
など) を呼び出すと、呼び出されたメソッドは内部で notifyRowChanged
を呼び出します。アプリケーションがこのメソッドを直接呼び出すことはありません。
SQLException
- BaseRowSet
抽象クラスを拡張するクラスが RowSet
インタフェースまたはそのサブインタフェースを実装していない場合protected void notifyRowSetChanged() throws SQLException
RowSet
オブジェクトに登録されているすべてのリスナーに、コンテンツ全体が変更されたことを通知します。
アプリケーションが RowSet
オブジェクトのコンテンツ全体を変更するメソッド (CachedRowSet
メソッド execute
、populate
、restoreOriginal
、release
など) を呼び出すと、呼び出されたメソッドは内部で直接的または間接的に notifyRowSetChanged
を呼び出します。アプリケーションがこのメソッドを直接呼び出すことはありません。
SQLException
- BaseRowSet
抽象クラスを拡張するクラスが RowSet
インタフェースまたはそのサブインタフェースを実装していない場合public String getCommand()
RowSet
オブジェクトのコマンドになっている SQL クエリーを取得します。コマンドプロパティには、この RowSet
オブジェクトを生成するために実行されるクエリーが含まれます。
このメソッドから返される SQL クエリーは、RowSet
メソッド (execute
、populate
など) によって使用されます。これらのメソッドは、BaseRowSet
抽象クラスを拡張するあらゆるクラスに実装可能であり、標準 JSR-114 RowSet
インタフェースを 1 個以上実装します。
RowSet
オブジェクトのリーダは、コマンドを使って、ResultSet
オブジェクトを取得します。次に、ResultSet
オブジェクトからデータを読み取り、このデータを使ってこの RowSet
オブジェクトを生成します。
command
プロパティのデフォルト値は null
です。
RowSet
オブジェクトの command
プロパティの値を示す String
。null
の場合もあるsetCommand(java.lang.String)
public void setCommand(String cmd) throws SQLException
RowSet
オブジェクトの command
プロパティとして指定の String
オブジェクトを設定し、パラメータがある場合は、以前のコマンド用に設定されたものなので消去します。
RowSet
オブジェクトがコマンドをサポートしないソース (スプレッドシート、その他の表形式のファイル) からデータを取得する場合、command
プロパティは不要です。つまり、このプロパティは任意であり、null
の場合もあります。
cmd
- この RowSet
オブジェクトの command プロパティとして設定される SQL クエリーを含む String
オブジェクト。null
の場合もあるが、空文字列にはならない
SQLException
- コマンドの値として空文字列が提供された場合getCommand()
public String getUrl() throws SQLException
RowSet
オブジェクトの javax.sql.Reader
オブジェクトがリレーショナルデータベースとの接続を作成するために使用する JDBC URL を取得します。
配下のデータソースが SQL データソースでない場合 (スプレッドシートや XML データソースの場合)、Url
プロパティは null
になります。
RowSet
オブジェクトの接続を確立するために使用される JDBC URL を含む String
オブジェクト。設定しない場合、null
(デフォルト値) になる
SQLException
- URL 値の取得中にエラーが発生した場合setUrl(java.lang.String)
public void setUrl(String url) throws SQLException
RowSet
オブジェクトの Url プロパティとして指定の String
オブジェクトを設定し、dataSource name プロパティを null
に設定します。Url プロパティは、JDBC テクノロジを使用可能なドライバ (JDBC ドライバ) と DriverManager
を使って接続を作成するときに使用する JDBC URL です。特定のドライバ用の正しい JDBC URL は、ドライバのマニュアルに記載されています。JDBC URL の作成のガイドラインも用意されていますが、ドライバのベンダーは、長さ 0
(空文字列) のものを除く任意の String
オブジェクトを指定できます。
DriverManager
ではなく DataSource
オブジェクトを使って接続を確立した場合、Url プロパティの設定はオプションになります。ドライバは、URL プロパティか dataSourceName プロパティ (最近指定されたもの) を使って接続を作成します。JDBC URL を使用する場合、アプリケーションは、RowSet
オブジェクトを使ってデータベースに接続する前に、JDBC URL を受け入れる JDBC ドライバをロードする必要があります。RowSet
オブジェクトは、データの読み取りまたは書き込みを行うため、内部で URL を使用してデータベース接続を作成します。
url
- この RowSet
オブジェクトのデータベース接続を確立するために使用される JDBC URL を含む String
オブジェクト。null
の場合もあるが、空文字列にはならない
SQLException
- Url プロパティの設定時にエラーが発生した場合、または長さ 0
(空文字列) のパラメータが提供された場合getUrl()
public String getDataSourceName()
javax.sql.DataSource
オブジェクトを取得する論理名を返します。この DataSource
オブジェクトを使って、このオブジェクトが示すデータソースとの接続を確立することができます。
ユーザは、url または data source name プロパティのいずれかを設定する必要があります。ドライバは、接続を確立するために一番最近設定されたプロパティセットを使用します。
DataSource
オブジェクトを識別する String
オブジェクト。論理名が設定されていない場合、null
が返されるsetDataSourceName(java.lang.String)
public void setDataSourceName(String name) throws SQLException
RowSet
オブジェクトの DataSource
name プロパティとして指定の論理名を設定し、この RowSet
オブジェクトの Url プロパティを null
に設定します。名前は、JNDI ネームサービス内の DataSource
オブジェクトにバインドしておく必要があります。アプリケーションは、この名前を使ってルックアップを行い、バインドされた DataSource
オブジェクトを取得します。その後、DataSource
オブジェクトを使って、この名前が示すデータソースへの接続を確立します。
ユーザは、Url プロパティと dataSourceName プロパティのいずれかを設定する必要があります。両方のプロパティを設定した場合、ドライバは、最近設定されたプロパティを使用します。
name
- 名前を持つ String
オブジェクト。JNDI テクノロジベースのネームサービスにこの名前を渡すことにより、接続の取得に使用する DataSource
オブジェクトを取得できる。null
でもよいが、空の文字列は不可
SQLException
- DataSource
名として空文字列が指定された場合getDataSourceName()
public String getUsername()
execute
メソッドの呼び出しの前に設定されます。
String
オブジェクト。設定しない場合、null
(デフォルト値) になるsetUsername(java.lang.String)
public void setUsername(String name)
RowSet
オブジェクトの username プロパティとして、指定のユーザ名を設定します。username プロパティは直列化されないので、実行時、execute
メソッドの呼び出しの前に設定されます。
name
- 接続を作成するためにデータソースに提供されるユーザ名を含む String
オブジェクト。null の場合もあるgetUsername()
public String getPassword()
RowSet
オブジェクトのデータベース接続を作成するために使用するパスワードを返します。password プロパティは直列化されないので、実行時、execute
メソッドの呼び出しの前に設定されます。デフォルト値は null
です。
String
オブジェクトsetPassword(java.lang.String)
public void setPassword(String pass)
RowSet
オブジェクトのデータベース接続を作成するために使用するパスワードとして、指定の String
オブジェクトを設定します。password プロパティは直列化されないので、実行時、execute
メソッドの呼び出しの前に設定されます。
pass
- 接続を作成する際データベースに提供されるパスワードを表す String
オブジェクト。null の場合もあるgetPassword()
public void setType(int type) throws SQLException
RowSet
オブジェクトに特定の型を設定します。デフォルトの型は ResultSet.TYPE_SCROLL_INSENSITIVE
です。
type
- ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、ResultSet.TYPE_SCROLL_SENSITIVE
の各定数のいずれか
SQLException
- パラメータとして定数 ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、ResultSet.TYPE_SCROLL_SENSITIVE
以外が提供された場合getConcurrency()
,
getType()
public int getType() throws SQLException
RowSet
オブジェクトの型を返します。型は、最初、RowSet
オブジェクトを作成した文によって決定されます。RowSet
オブジェクトは、いつでも setType
メソッドを呼び出して型を変更できます。デフォルトは TYPE_SCROLL_INSENSITIVE
です。
RowSet
オブジェクトの型。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、または ResultSet.TYPE_SCROLL_SENSITIVE
のいずれか
SQLException
- この RowSet
オブジェクトの型の取得時にエラーが発生した場合setType(int)
public void setConcurrency(int concurrency) throws SQLException
RowSet
オブジェクトの並行性を指定された並行性に設定します。接続されている場合でも接続されていない場合でも、RowSet
オブジェクトのデフォルトの並行性は ResultSet.CONCUR_UPDATABLE
です。ただし、このメソッドは、並行性を変更したいときいつでも呼び出すことができます。
concurrency
- 次の定数のいずれか。ResultSet.CONCUR_READ_ONLY
または ResultSet.CONCUR_UPDATABLE
SQLException
- パラメータとして定数 ResultSet.CONCUR_UPDATABLE
と ResultSet.CONCUR_READ_ONLY
以外が提供された場合getConcurrency()
,
isReadOnly()
public boolean isReadOnly()
RowSet
オブジェクトが読み取り専用であるかどうかを示す boolean
を返します。読み取り専用の RowSet
オブジェクトを更新しようとすると、SQLException
がスローされます。デフォルトでは、更新が可能であれば、行セットの更新も可能です。
RowSet
オブジェクトを更新できない場合は true
、そうでない場合は false
setConcurrency(int)
,
setReadOnly(boolean)
public void setReadOnly(boolean value)
RowSet
オブジェクトの readOnly プロパティとして boolean
を設定します。
value
- この RowSet
オブジェクトが読み取り専用の場合は true
、更新可能な場合は false
public int getTransactionIsolation()
RowSet
オブジェクトの接続のトランザクション遮断プロパティを返します。このプロパティは、トランザクション用として要求されたトランザクション遮断レベルを表します。
RowSet
実装 (未接続の環境で動作する CachedRowSet
など) には、SyncProvider
オブジェクトにより、補足ロックやデータの整合性のオプションが提供されます。以下のオプションは、接続済み RowSet
オブジェクト (JdbcRowSet
オブジェクト) 専用です。
Connection.TRANSACTION_NONE
、Connection.TRANSACTION_READ_UNCOMMITTED
、Connection.TRANSACTION_READ_COMMITTED
、Connection.TRANSACTION_REPEATABLE_READ
、または Connection.TRANSACTION_SERIALIZABLE
SyncFactory
,
SyncProvider
,
setTransactionIsolation(int)
public void setTransactionIsolation(int level) throws SQLException
RowSet
オブジェクトのトランザクション遮断プロパティとして、指定の定数を設定します。DBMS は、可能な場合は、このトランザクション遮断レベルを使用します。
RowSet
実装 (未接続の環境で動作する CachedRowSet
など) には、使用する SyncProvider
オブジェクトにより、補足ロックやデータの整合性のオプションが提供されます。以下のオプションは、接続済み RowSet
オブジェクト (JdbcRowSet
オブジェクト) 専用です。
level
- 次の昇順でリストされた定数のいずれか。Connection.TRANSACTION_NONE
、Connection.TRANSACTION_READ_UNCOMMITTED
、Connection.TRANSACTION_READ_COMMITTED
、Connection.TRANSACTION_REPEATABLE_READ
、または Connection.TRANSACTION_SERIALIZABLE
SQLException
- 指定のパラメータが Connection 定数でない場合SyncFactory
,
SyncProvider
,
getTransactionIsolation()
public Map<String,Class<?>> getTypeMap()
RowSet
オブジェクトの Connection
オブジェクトに関連付けられた型マップを取得します。
JDBC 3.0 API をサポートするドライバは、型マップが関連付けられた Connection
オブジェクトを作成します。この型マップは、初期状態では空ですが、1 つ以上の完全指定の SQL 名と、指定の SQL 値のマップ先クラスを示す Class
オブジェクトを含めることができます。その他の代替となる型マップが存在しない場合、カスタム型マッピングには、接続の型マップで指定された型マッピングが使用されます。
カスタムマッピングを実行できるメソッドに、明示的に型マップを提供した場合、この型マップは接続の型マップより優先されます。
java.util.Map
オブジェクト。この RowSet
オブジェクトの接続に使用する型マップpublic void setTypeMap(Map<String,Class<?>> map)
RowSet
オブジェクトの Connection
オブジェクトに関連付けられた型マップとして、指定の java.util.Map
オブジェクトをインストールします。この型マップで表されるカスタムマッピングが使用されます。ただし、メソッドに別の型マップを明示的に提供した場合は、提供された型マップが使用されます。
map
- ユーザ定義型 (UDT) の SQL 型名と Java プログラミング言語のクラスのマッピングを含む java.util.Map
オブジェクト。Map
オブジェクトの各エントリは、UDT の完全修飾 SQL 名と、その UDT の SQLData
実装の Class
オブジェクトで構成される。null
の場合もあるpublic int getMaxFieldSize() throws SQLException
RowSet
オブジェクト内の列の値として使用可能な最大バイト数を取得します。この制限は、BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、LONGVARCHAR
のいずれかの型の値を格納する列にだけ適用されます。制限値を超えたデータは通知なしで破棄されます。
int
。0 は制限がないことを表す
SQLException
- 最大列サイズ制限値の決定時に内部でエラーが発生した場合public void setMaxFieldSize(int max) throws SQLException
RowSet
オブジェクト内の列の値として使用可能な最大バイト数を設定します。この制限は、BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
、LONGVARCHAR
のいずれかの型の値を格納する列にだけ適用されます。制限値を超えたデータは通知なしで破棄されます。移植性を高めるため、256 より大きい値を使用することをお勧めします。
max
- 新しい最大列サイズ制限値を示す int
。0 は制限がないことを表す
SQLException
- (1) 最大列サイズ制限値の設定時に内部エラーが発生した場合、(2) 0 より小さいサイズが設定された場合public int getMaxRows() throws SQLException
RowSet
オブジェクトに含めることのできる最大行数を取得します。制限値を超えた行は通知なしに除外されます。
int
。0 は制限がないことを表す
SQLException
- Rowset
オブジェクトに含めることができる最大行数の決定時に内部でエラーが発生した場合public void setMaxRows(int max) throws SQLException
RowSet
オブジェクトに含めることのできる最大の行数を、指定した値に設定します。制限値を超えた行は通知なしに除外されます。
max
- 現在の最大行数を示す int
。0 は制限がないことを表す
SQLException
- JDBC RowSet
オブジェクトに含めることができる最大行数の設定時に内部でエラーが発生した場合、max に 0
より小さい値が指定された場合、または max に RowSet
の fetchSize
より小さい値が指定された場合public void setEscapeProcessing(boolean enable) throws SQLException
boolean
に設定します。デフォルトでは、ドライバはエスケープ処理を行います。
注: PreparedStatement
オブジェクトは、通常呼び出す前に構文解析されているので、用意された文に対しエスケープ処理を無効にしても効果はありません。
enable
- エスケープ処理を有効にする場合は true
、無効にする場合は false
SQLException
- 配下の JDBC テクノロジを使用可能なドライバがエスケープ構文を処理するように設定している途中でエラーが発生した場合public int getQueryTimeout() throws SQLException
SQLException
がスローされます。
SQLException
- クエリータイムアウト値の決定時にエラーが発生した場合public void setQueryTimeout(int seconds) throws SQLException
SQLException
がスローされます。
seconds
- 新しいクエリータイムアウトの制限値の秒数。ゼロは無制限を意味する。ゼロより小さい値は使用できない
SQLException
- クエリータイムアウト値の設定時にエラーが発生した場合、またはクエリータイムアウト値が 0 より小さい場合public boolean getShowDeleted() throws SQLException
boolean
を取得します。デフォルト値は false
です。
注: 削除された行を表示すると、一部のメソッドが正常に動作しなくなることがあります。しかし、削除された行を表示する機能は、専門的なアプリケーションでしか使用されません。したがって、ほとんどの RowSet
オブジェクトユーザは、この設定を無視してかまいません。
true
、そうでない場合は false
SQLException
- 削除された行を表示するかどうかを決定している途中でエラーが発生した場合setShowDeleted(boolean)
public void setShowDeleted(boolean value) throws SQLException
showDeleted
プロパティとして、削除マーク付きの行を現在の行とともに表示するかどうかを指定する boolean
を設定します。
value
- 削除された行を表示する場合は true
、そうでない場合は false
SQLException
- 削除された行を表示するかどうかを設定している途中でエラーが発生した場合getShowDeleted()
public boolean getEscapeProcessing() throws SQLException
RowSet
オブジェクトでエスケープ処理が有効になっているかどうかを確認します。
true
、そうでない場合は false
SQLException
- エスケープ処理の有効または無効を決定している途中でエラーが発生した場合、または内部エスケープ処理トリガが有効になっていない場合public void setFetchDirection(int direction) throws SQLException
RowSet
オブジェクト内の行が処理される方向について、ドライバにパフォーマンスヒントを与えます。このヒントは、無視されることもあります。
RowSet
オブジェクトは、データの取得先の ResultSet
オブジェクトのデフォルトプロパティを継承します。ResultSet
オブジェクトのデフォルトのフェッチ方向は、このオブジェクトを作成した Statement
によって設定されます。
このメソッドが RowSet
オブジェクトに適用されるのは、JDBC ドライバを使ってデータベースに接続している場合のみです。
RowSet
オブジェクトは、このメソッドを使って、いつでもフェッチ方向の設定を変更できます。
direction
- ResultSet.FETCH_FORWARD
、ResultSet.FETCH_REVERSE
、または ResultSet.FETCH_UNKNOWN
のいずれか
SQLException
- (1) RowSet
の型が TYPE_FORWARD_ONLY
であり、FETCH_FORWARD
以外のフェッチ方向が指定された場合、(2) フェッチ方向が ResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE、ResultSet.FETCH_UNKNOWN のいずれでもない場合getFetchDirection()
public int getFetchDirection() throws SQLException
RowSet
オブジェクトの現在のフェッチ方向の設定を取得します。デフォルトの型は ResultSet.FETCH_FORWARD
です。
ResultSet.FETCH_FORWARD
、ResultSet.FETCH_REVERSE
、または ResultSet.FETCH_UNKNOWN
のいずれか
SQLException
- 行をフェッチする現在のフェッチ方向を決定している途中でエラーが発生した場合setFetchDirection(int)
public void setFetchSize(int rows) throws SQLException
RowSet
オブジェクトのフェッチサイズとして、指定の行数を設定します。フェッチサイズは、JDBC テクノロジを使用可能なドライバ (JDBC ドライバ) に、この RowSet
オブジェクトがより多くの行を必要とするときデータベースからフェッチされる行数を示すヒントとなります。フェッチサイズとしてゼロが指定された場合、ドライバは値を無視し、最適なフェッチサイズを独自に推測します。
RowSet
オブジェクトは、データの取得先の ResultSet
オブジェクトのデフォルトプロパティを継承します。ResultSet
オブジェクトのデフォルトのフェッチサイズは、このオブジェクトを作成した Statement
によって設定されます。
このメソッドは、JDBC ドライバを使ってデータベースに接続されている RowSet
オブジェクトだけに適用されます。JdbcRowSet
のように、RowSet
実装が接続されている場合は、配下の JDBC ドライバに対して直接的な影響を及ぼします。
RowSet
オブジェクトは、このメソッドを使って、いつでもフェッチサイズの設定を変更できます。
CachedRowSet
などの RowSet
実装は、非接続環境で動作します。この場合、使用される SyncProvider
オブジェクトは、フェッチサイズを利用してデータソースをポーリングし、フェッチサイズを超えない範囲で行数を取得します。この行数は、元のクエリーから返される実際の行数のサブセットになります。これは、未接続の RowSet
オブジェクトが利用する特定の SyncProvider
によって決まる実装差異です。
rows
- フェッチされる行数。0
の場合、ドライバが最適フェッチサイズを決定する。0
より小さい値と、この RowSet
オブジェクトに許可された最大行数 (getMaxRows()
メソッドの呼び出しによって返される値) を超える値は指定できない
SQLException
- 指定されたフェッチサイズが 0
より小さい場合、または最大行数を超過した場合getFetchSize()
public int getFetchSize() throws SQLException
RowSet
オブジェクトのフェッチサイズを返します。デフォルト値はゼロです。
RowSet
オブジェクトがデータベースからより多くの行を取得する必要がある場合に、フェッチサイズとして提示される行数
SQLException
- 現在のフェッチサイズ内で行数の決定中にエラーが発生した場合setFetchSize(int)
public int getConcurrency() throws SQLException
RowSet
オブジェクトの並行性を返します。RowSet
オブジェクトが接続されている場合も、未接続の場合も、デフォルト値は CONCUR_UPDATABLE
です。
アプリケーションは、いつでも setConcurrency
メソッドを呼び出して、 RowSet
オブジェクトの並行性を変更できます。
RowSet
オブジェクトの並行性の型。ResultSet.CONCUR_READ_ONLY
または ResultSet.CONCUR_UPDATABLE
SQLException
- この RowSet
オブジェクトの並行性の取得時にエラーが発生した場合setConcurrency(int)
,
isReadOnly()
public void setNull(int parameterIndex, int sqlType) throws SQLException
NULL
に設定します。パラメータの SQL 型は、java.sql.Types
で定義された型コードの 1 つを使用して指定する必要があります。この SQL 型は、2 番目のパラメータに指定されます。
2 番目のパラメータは、DBMS に対して、NULL
に設定される値のデータ型を通知します。この情報は一部の DBMS で必要とされるため、コードの移植性を向上させるためには、この情報が必要となります。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setNull
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む Object
配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は null
です。2 番目の要素は sqlType に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、2 番目のプレースホルダパラメータが null
に設定される場合、これを含む配列は、 getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上sqlType
- Types
クラス内に定義された SQL 型コードを表す int
。非標準の sqlType が提供された場合、このメソッドは SQLException
をスローしない。この動作により、非標準 SQL 型を暗黙的にサポートする
SQLException
- データベースアクセスエラーが発生した場合、または指定されたパラメータインデックスが範囲外である場合getParams()
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
NULL
に設定します。このバージョンの setNull
メソッドはユーザ定義型のパラメータと REF
型のパラメータを対象としていますが、任意の JDBC 型の null パラメータの設定に使用される場合もあります。STRUCT
、DISTINCT
、JAVA_OBJECT
のユーザ定義型のほか、指定の配列型があります。
注: 移植性を実現するためには、アプリケーションは NULL
のユーザ定義パラメータまたは REF
パラメータを指定するときに SQL 型コードおよび完全指定の SQL 型名を指定しなければなりません。ユーザ定義型の場合、名前はパラメータ自体の型名です。REF
パラメータの場合、名前は参照される型の型名です。JDBC テクノロジを使用可能なドライバが型コードまたは型名の情報を必要としない場合、それは無視されます。
パラメータがユーザ定義型または REF
型でない場合は、指定した typeName
パラメータが無視されます。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setNull
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む Object
配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は null
です。2 番目の要素は sqlType に設定される値です。3 番目の要素は、typeName に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、2 番目のプレースホルダパラメータが null
に設定される場合、これを含む配列は、 getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上sqlType
- java.sql.Types
からの値typeName
- SQL ユーザ定義型の完全修飾名。パラメータがユーザ定義型でも REF
値でもない場合は無視される
SQLException
- エラーが発生した場合、または指定されたパラメータインデックスが範囲外である場合getParams()
public void setBoolean(int parameterIndex, boolean x) throws SQLException
boolean
に設定します。データベースに送るときに、ドライバはこれを SQL BIT
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setByte(int parameterIndex, byte x) throws SQLException
byte
値に設定します。データベースに送るときに、ドライバはこれを SQL TINYINT
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setShort(int parameterIndex, short x) throws SQLException
short
値に設定します。データベースに送るときに、ドライバはこれを SQL SMALLINT
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setInt(int parameterIndex, int x) throws SQLException
int
値に設定します。データベースに送るときに、ドライバはこれを SQL INTEGER
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setLong(int parameterIndex, long x) throws SQLException
long
値に設定します。データベースに送るときに、ドライバはこれを SQL BIGINT
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setFloat(int parameterIndex, float x) throws SQLException
float
値に設定します。データベースに送るときに、ドライバはこれを SQL FLOAT
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setDouble(int parameterIndex, double x) throws SQLException
double
値に設定します。データベースに送るときに、ドライバはこれを SQL DOUBLE
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
java.lang.BigDecimal
値に設定します。データベースに送るときに、ドライバはこれを SQL NUMERIC
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setString(int parameterIndex, String x) throws SQLException
String
値に設定します。データベースに送るときに、ドライバはこれを SQL VARCHAR
または LONGVARCHAR
値 (ドライバの VARCHAR
値に関する制限に関する引数のサイズに依存) に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setBytes(int parameterIndex, byte[] x) throws SQLException
VARBINARY
または LONGVARBINARY
値 (ドライバの VARBINARY
値に関する制限に関する引数のサイズに依存) に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setDate(int parameterIndex, Date x) throws SQLException
java.sql.Date
値に設定します。データベースに送るときに、ドライバはこれを SQL DATE
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setDate
を呼び出したあと、getParams
メソッドを呼び出すと、プレースホルダパラメータ番号 parameterIndex (2 番目のパラメータとして提供される Date
オブジェクト) に設定される値の配列が返されます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- パラメータ値
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setTime(int parameterIndex, Time x) throws SQLException
java.sql.Time
値に設定します。データベースに送るときに、ドライバはこれを SQL TIME
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setTime
メソッドを呼び出したあと、getParams
メソッドを呼び出すと、設定されたパラメータの配列が返されます。このメソッドの 2 番目のパラメータとして設定された Time
オブジェクトが、プレースホルダパラメータ番号 parameterIndex のパラメータとして設定されます。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- java.sql.Time
オブジェクト。プレースホルダパラメータ parameterIndex の値として設定される
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
java.sql.Timestamp
値に設定します。データベースに送るときに、ドライバはこれを SQL TIMESTAMP
値に変換します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setTimestamp
を呼び出したあと、getParams
メソッドを呼び出すと、プレースホルダパラメータ番号 parameterIndex (このメソッドの 2 番目のパラメータとして提供される Timestamp
オブジェクト) に設定される値の配列が返されます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- java.sql.Timestamp
オブジェクト
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
java.io.InputStream
オブジェクトに設定します。ストリームの内容が読み取られ、データベースに送信されます。読み取られ、データベースに送信されるバイト数が length に一致していない場合、このメソッドは SQLException
オブジェクトをスローします。
LONGVARCHAR
パラメータに非常に大きな ASCII 値が入力されるときには、java.io.InputStream
を介して送るのが現実的です。JDBC テクノロジを使用可能なドライバは、ファイルの終わりに達するまで必要に応じてストリームからデータを読み込みます。JDBC ドライバは、データを ASCII からデータベースの CHAR
形式に変換します。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
setAsciiStream
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は指定された java.io.InputStream
オブジェクトです。2 番目の要素は length に設定される値です。3 番目の要素は、このメソッドに渡されるストリームが ASCII ストリームであることを示す BaseRowSet
定数です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、設定される入力ストリームが 2 番目のプレースホルダパラメータの値になる場合、これを含む配列は、getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- ASCII パラメータ値を含む Java 入力ストリームlength
- ストリーム内のバイト数であり、ドライバから DBMS に送信されるバイト数に一致する。バイト長 0 以下は未定義だが、配下の JDBC ドライバで無効な長さ例外がスローされる
SQLException
- エラーが発生した場合、パラメータインデックスが範囲外の場合、またはデータソースに接続した場合は、ドライバによって読み取られデータベースに送信されるバイト数が length に指定されたバイト数と一致しないgetParams()
public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
java.io.InputStream
オブジェクトに設定します。ストリームの内容が読み取られ、データベースに送信されます。読み取られ、データベースに送信されるバイト数が length に一致していない場合、このメソッドは SQLException
オブジェクトをスローします。
LONGVARBINARY
パラメータに非常に大きなバイナリ値が入力されるときには、java.io.InputStream
オブジェクトを介して送るのが現実的です。JDBC テクノロジを使用可能なドライバは、ファイルの終わりに達するまで、必要に応じてストリームからデータを読み取ります。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
setBinaryStream
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は指定された java.io.InputStream
オブジェクトです。2 番目の要素は length に設定される値です。3 番目の要素は、このメソッドに渡されるストリームがバイナリストリームであることを示す BaseRowSet
定数です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、設定される入力ストリームが 2 番目のプレースホルダパラメータの値になる場合、これを含む配列は、getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- 設定されるバイナリ値を含む入力ストリームlength
- ストリーム内のバイト数。バイト長 0 以下は未定義だが、配下の JDBC ドライバ内で無効な長さ例外がスローされる
SQLException
- エラーが発生した場合、パラメータインデックスが範囲外の場合、またはデータソースに接続した場合は、ドライバによって読み取られデータベースに送信されるバイト数が length に指定されたバイト数と一致しないgetParams()
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
java.io.InputStream
オブジェクトに設定します。ストリームの内容が読み取られ、データベースに送信されます。読み取られ、データベースに送信されるバイト数が length に一致していない場合、このメソッドは SQLException
をスローします。
LONGVARCHAR
パラメータに非常に大きな Unicode 値が入力されるときには、java.io.InputStream
オブジェクトを介して送るのが現実的です。JDBC テクノロジを使用可能なドライバは、ファイルの終わりに達するまで必要に応じてストリームからデータを読み込みます。JDBC ドライバは、データを Unicode からデータベースの CHAR
形式に変換します。Unicode ストリームのバイト形式は、Java 仮想マシン仕様に定義されているとおり Java UTF-8 である必要があります。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
このメソッドは推奨されません。代わりに getCharacterStream
メソッドを使用してください。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、このRowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。setUnicodeStream
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は指定された java.io.InputStream
オブジェクトです。2 番目の要素は length に設定される値です。3 番目の要素は、このメソッドに渡されるストリームが Unicode ストリームであることを示す BaseRowSet
定数です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、設定される入力ストリームが 2 番目のプレースホルダパラメータの値になる場合、これを含む配列は、getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- UNICODE パラメータ値を含む java.io.InputStream
オブジェクトlength
- 入力ストリームのバイト数
SQLException
- エラーが発生した場合、パラメータインデックスが範囲外の場合、またはドライバによって読み取られデータベースに送信されるバイト数が length に指定されたバイト数と一致しない場合getParams()
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
java.io.Reader
オブジェクトに設定します。リーダの内容が読み取られ、データベースに送信されます。読み取られ、データベースに送信されるバイト数が length に一致していない場合、このメソッドは SQLException
をスローします。
LONGVARCHAR
パラメータに非常に大きな Unicode 値が入力されるときには、Reader
オブジェクトを介して送るのが現実的です。JDBC テクノロジを使用可能なドライバは、ファイルの終わりに達するまで必要に応じてストリームからデータを読み込みます。JDBC ドライバは、データを Unicode からデータベースの CHAR
形式に変換します。Unicode ストリームのバイト形式は、Java 仮想マシン仕様に定義されているとおり Java UTF-8 である必要があります。
注: このストリームオブジェクトは、標準の Java ストリームオブジェクト、または標準インタフェースを実装する独自のサブクラスのどちらでもかまいません。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
setCharacterStream
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は、指定された java.io.Reader
オブジェクトです。2 番目の要素は length に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、リーダが 2 番目のプレースホルダパラメータの値に設定される場合、これを含む配列は、 getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上reader
- Unicode データを格納する Reader
オブジェクトlength
- ストリーム内の文字数。文字長 0 以下は未定義だが、配下の JDBC ドライバ内で無効な長さ例外がスローされる
SQLException
- エラーが発生した場合、パラメータインデックスが範囲外の場合、またはデータソースに接続した場合は、ドライバによって読み取られデータベースに送信されるバイト数が length に指定されたバイト数と一致しないgetParams()
public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException
Object
に設定します。2 番目のパラメータは Object
型である必要があります。整数値の場合は等価な java.lang
オブジェクトを使用する必要があります (たとえば int
に対して Integer
クラスのインスタンス)。
ドライバは、このオブジェクトをデータベースに送信する前に、指定されたターゲットの SQL 型に変換します。オブジェクトが SQLData
を実装するクラスのカスタムマッピングを持つ場合、ドライバは SQLData.writeSQL
メソッドを呼び出して、そのオブジェクトを SQL データストリームへ書き込む必要があります。また、オブジェクトが Ref
、Blob
、Clob
、Struct
、または Array
を実装するクラスの場合、ドライバは対応する SQL 型の値としてオブジェクトをデータベースに渡さなければなりません。
このメソッドは、データベース固有の抽象データ型を渡すために使用することに注意してください。
このメソッドによって設定されるパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setObject
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は、指定された Object
インスタンスです。2 番目の要素は targetSqlType に設定される値です。3 番目の要素は、scale に設定される値です。設定される Object
型が java.sql.Types.NUMERIC
または java.sql.Types.DECIMAL
のいずれでもない場合、ドライバはこの値を無視します。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は、最初のプレースホルダパラメータの値になります。2 番目の要素は、2 番目のプレースホルダパラメータの値になります (以下同様)。つまり、オブジェクトが 2 番目のプレースホルダパラメータの値に設定される場合、これを含む配列は、getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- 入力パラメータ値を含む Object
。Object
型でなければならないtargetSqlType
- java.sql.Types
の定義に従ってデータベースに送信される SQL 型。scale
引数はこの型をさらに修飾する場合がある。非標準の targetSqlType が提供された場合、このメソッドは SQLException
をスローしない。この動作により、非標準の SQL 型が暗黙的にサポートされるscale
- java.sql.Types.DECIMAL
型や java.sql.Types.NUMERIC
型では、小数点以下の桁数。ほかのすべての型では、この値は無視される
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
Object
値に設定します。このメソッドは、setObject(int parameterIndex, Object x, int targetSqlType, int scale)
に似ていますが、スケールに 0 を仮定している点が異なります。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setObject
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は、指定された Object
インスタンスです。2 番目の要素は targetSqlType に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、オブジェクトが 2 番目のプレースホルダパラメータの値に設定される場合、これを含む配列は、getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- 入力パラメータ値を含む Object
。Object
型でなければならないtargetSqlType
- java.sql.Types
の定義に従ってデータベースに送信される SQL 型。非標準の targetSqlType が提供された場合、このメソッドは SQLException
をスローしない。この動作により、非標準の SQL 型が暗黙的にサポートされる
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setObject(int parameterIndex, Object x) throws SQLException
Object
に設定します。2 番目のパラメータは Object
型である必要があります。整数値の場合は等価な java.lang
オブジェクトを使用する必要があります (たとえば int
に対して Integer
クラスのインスタンス)。
JDBC 仕様には、Java Object
型と SQL 型の標準マッピングが定義されています。ドライバは、この標準マッピングを使って、指定されたオブジェクトをデータベースへ送信する前に、対応する SQL 型に変換します。オブジェクトが SQLData
を実装するクラスのカスタムマッピングを持つ場合、ドライバは SQLData.writeSQL
メソッドを呼び出して、オブジェクトを SQL データストリームに書き込む必要があります。
また、オブジェクトが Ref
、Blob
、Clob
、Struct
、または Array
を実装するクラスのオブジェクトである場合、ドライバはこのオブジェクトを対応する SQL 型の値としてデータベースに送信する必要があります。
たとえば、オブジェクトが 1 個以上のインタフェースを複数実装するクラスであるなど、あいまいさがある場合、このメソッドは例外をスローします。
このメソッドは、データベース固有の抽象データ型を渡すために使用することに注意してください。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このメソッドを呼び出したあと、getParams
メソッドを呼び出すと、現在のコマンドパラメータのオブジェクト配列が返されます。この配列には、プレースホルダパラメータ番号 parameterIndex
に設定される Object
が含まれます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- 入力パラメータ値を含むオブジェクト
SQLException
- パラメータインデックスが範囲外の場合、または設定されるオブジェクトの実装にあいまいさがある場合getParams()
public void setRef(int parameterIndex, Ref ref) throws SQLException
Ref
オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL REF
値に変換します。内部的には、Ref
は 直列化可能性を確保するため、SerialRef
で表されます。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このメソッドを呼び出したあと、getParams
メソッドを呼び出すと、現在のコマンドパラメータのオブジェクト配列が返されます。この配列には、プレースホルダパラメータ番号 parameterIndex
に設定される Ref
オブジェクトが含まれます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上ref
- SQL REF
値を表す Ref
オブジェクト。null は不可
SQLException
- エラーが発生した場合、パラメータインデックスが範囲外であるかまたは Ref
オブジェクトが null
の場合、または Ref
オブジェクトが null
の基底型名を返した場合getParams()
,
SerialRef
public void setBlob(int parameterIndex, Blob x) throws SQLException
Blob
オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL BLOB
値に変換します。内部的には、Blob
は 直列化可能性を確保するため、SerialBlob
で表されます。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。 注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドはこのクラス内に定義されていません。
このメソッドを呼び出したあと、getParams
メソッドを呼び出すと、現在のコマンドパラメータのオブジェクト配列が返されます。この配列には、プレースホルダパラメータ番号 parameterIndex
に設定される Blob
オブジェクトが含まれます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- SQL BLOB
値を表す Blob
オブジェクト
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
,
SerialBlob
public void setClob(int parameterIndex, Clob x) throws SQLException
Clob
オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL CLOB
値に変換します。内部的には、Clob
は 直列化可能性を確保するため、SerialClob
で表されます。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このメソッドを呼び出したあと、getParams
メソッドを呼び出すと、現在のコマンドパラメータのオブジェクト配列が返されます。この配列には、プレースホルダパラメータ番号 parameterIndex
に設定される Clob
オブジェクトが含まれます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- SQL CLOB
値を表す Clob
オブジェクト。null は不可
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外であるか、Clob
が null の場合getParams()
,
SerialBlob
public void setArray(int parameterIndex, Array array) throws SQLException
Array
オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL ARRAY
値に変換します。内部的には、Array
は 直列化可能性を確保するため、SerialArray
で表されます。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このメソッドを呼び出したあと、getParams
メソッドを呼び出すと、現在のコマンドパラメータのオブジェクト配列が返されます。この配列には、プレースホルダパラメータ番号 parameterIndex
に設定される Array
オブジェクトが含まれます。配列内の要素の番号付けはゼロから開始されるので、プレースホルダパラメータ番号 parameterIndex に対応する配列要素番号は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上array
- SQL ARRAY
値を表す Array
オブジェクト。null は不可。このメソッドに渡される Array
オブジェクトは、すべての getArray()
メソッドの呼び出しに対して、null 以外のオブジェクトを返す必要がある
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外であるか、ARRAY
が null の場合getParams()
,
SerialArray
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
java.sql.Date
オブジェクトに設定します。DBMS にタイムゾーン情報が格納されていない場合、ドライバは指定された Calendar
オブジェクトを使用して、SQL DATE
値を作成し、これをデータベースに送ります。Calendar
オブジェクトを使用する場合、ドライバはカスタムタイムゾーンを考慮して日付を計算できます。Calendar
オブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンを使用します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setDate
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は、指定された java.sql.Date
オブジェクトです。2 番目の要素は cal に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、日付が 2 番目のプレースホルダパラメータの値に設定される場合、これを含む配列は、 getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- SQL DATE
値を表す java.sql.Date
オブジェクトcal
- 日付を作成するために使用する java.util.Calendar
オブジェクト
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
java.sql.Time
オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL TIME
値に変換します。
DBMS にタイムゾーン情報が格納されていない場合、ドライバは指定された Calendar
オブジェクトを使用して、SQL TIME
値を作成し、これをデータベースに送ります。Calendar
オブジェクトを使用する場合、ドライバはカスタムタイムゾーンを考慮して日付を計算できます。Calendar
オブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンを使用します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setTime
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は、指定された java.sql.Time
オブジェクトです。2 番目の要素は cal に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、時刻が 2 番目のプレースホルダパラメータの値に設定される場合、これを含む配列は、 getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- java.sql.Time
オブジェクトcal
- ドライバが時刻を作成するために使用する java.util.Calendar
オブジェクト
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
java.sql.Timestamp
オブジェクトに設定します。データベースに送るときに、ドライバはこれを SQL TIMESTAMP
値に変換します。
DBMS にタイムゾーン情報が格納されていない場合、ドライバは指定された Calendar
オブジェクトを使用して、SQL TIMESTAMP
値を作成し、これをデータベースに送ります。Calendar
オブジェクトを使用する場合、ドライバはカスタムタイムゾーンを考慮してタイムスタンプを計算できます。Calendar
オブジェクトを指定しない場合、ドライバは、アプリケーションを実行している仮想マシンのタイムゾーンを使用します。
このメソッドで設定されたパラメータ値は内部で格納され、execute
メソッドの呼び出し時に、この RowSet
オブジェクトのコマンド内の適切なパラメータとして提供されます。execute
、populate
などのメソッドは、このクラスを拡張し、標準 JSR-114 RowSet
インタフェースを 1 つ以上実装するクラスで提供される必要があります。
注: JdbcRowSet
は populate
メソッドを必要としません。このメソッドは、このクラス内に定義されていません。
このバージョンの setTimestamp
が呼び出されたあと、getParams
メソッドを呼び出すと、設定済みのパラメータ値を含む配列が返されます。この配列内の要素は、このメソッドで設定された値を表す配列になります。配列内の最初の要素は、指定された java.sql.Timestamp
オブジェクトです。2 番目の要素は cal に設定される値です。パラメータ番号は、getParams
メソッドによって返される配列内の要素の位置で表されます。たとえば、最初の要素は最初のプレースホルダパラメータの値、2 番目の要素は 2 番目のプレースホルダパラメータの値 (以下同様) になります。つまり、タイムスタンプが 2 番目のプレースホルダパラメータの値に設定される場合、これを含む配列は、 getParams
によって返される配列内の 2 番目の要素になります。
配列内の要素の番号付けはゼロから開始されるので、プレースホルダ番号 parameterIndex に対応する配列要素は parameterIndex -1 になります。
parameterIndex
- この RowSet
オブジェクトのコマンド内のプレースホルダパラメータに設定される番号 (序数)。最初のパラメータは 1、2 番目のパラメータは 2 (以下同様) になる。有効な値は 1
以上x
- java.sql.Timestamp
オブジェクトcal
- ドライバがタイムスタンプを作成するために使用する java.util.Calendar
オブジェクト
SQLException
- エラーが発生した場合、またはパラメータインデックスが範囲外である場合getParams()
public void clearParameters() throws SQLException
RowSet
オブジェクトのコマンドの実行時に設定されるパラメータの内部表現に含まれる、現在のパラメータ値をすべて消去します。
通常、この RowSet
オブジェクトのコマンド内で再利用できるように、パラメータ値は有効なままです。設定メソッドを使ってパラメータ値を設定すると、指定されたパラメータの値は自動的に消去され、新しく指定された値で置き換えられます。
このメソッドは、setCommand
メソッドによって内部で呼び出され、以前のコマンドに設定されたすべてのパラメータを消去します。
このメソッドは、RowSet
オブジェクトのスキーマを確保する点で、initParams
メソッドとは異なります。
SQLException
- パラメータの消去時にエラーが発生した場合public Object[] getParams() throws SQLException
RowSet
オブジェクトのコマンドに設定されたパラメータ値 (オブジェクトとプリミティブ) を含む配列を取得し、すべてのパラメータが設定されていない場合は SQLException
オブジェクトをスローします。コマンドが DBMS に送信され、実行される前に、これらのパラメータは、BaseRowSet
クラスを拡張する RowSet
実装のコマンドである PreparedStatement
オブジェクト内のプレースホルダパラメータで置き換えられます。
返される配列内の各要素は、設定メソッドに提供されるパラメータの値を含む Object
インスタンスになります。要素の順番は、parameterIndex の値によって決定されます。設定メソッドがパラメータインデックスと設定される値 (通常 null) だけを取る場合、配列要素には、設定される値 (Object
で表される) が含まれます。追加パラメータがある場合、配列要素自体が、設定される値と、設定メソッドに提供される追加パラメータ値を含む配列になります。メソッドがストリームを設定する場合、配列要素には、メソッドに提供されるストリームの型が含まれます。これらの追加パラメータは、ドライバまたは DBMS を対象としており、使用してもしなくてもかまいません。
注: Array
型、Blob
型、Clob
型、および Ref
型の格納されたパラメータ値は、それぞれ SerialArray
、SerialBlob
、SerialClob
、SerialRef
で返されます。
RowSet
オブジェクトのコマンドで設定されるパラメータ値を含む Object
インスタンスの配列。パラメータが何も設定されていない場合は空の配列
SQLException
- この RowSet
オブジェクトのパラメータのオブジェクト配列の取得中にエラーが発生した場合、またはパラメータが何も設定されていない場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。