16.9.1 各メソッドの処理内容と注意事項
各メソッドの処理内容と注意事項を次の表に示します。
Blobインタフェースクラスのメソッド名 |
処理内容と注意事項 |
---|---|
getBinaryStream |
JdbhInputStreamを実装としたInputStreamクラスを返します。取得できるデータ長は2,147,483,639までです。 |
getBytes(long pos, int length) |
指定したpos位置から,最大lengthまでのデータをbyte[]オブジェクトで返します。データベースの内容がナル値の場合,指定した位置からデータが取得できない場合,又は0バイトデータの場合は,nullを返します。ただし,lengthの値は2,147,483,639まで有効であるため,それを超えるとSQLExceptionを投入します。 |
length() |
実データ長を返します。 |
position(Blob pattern,long start) |
position(pattern.getBytes(1, (int)(pattern.length())), start)に置き換えて実行します。ただし,patternにnullを指定した場合は,NullPointerExceptionを投入します。 |
position(byte[] pattern,long start) |
指定したstart位置から,patternに合った位置を返します。返す値は>=startとなります。patternに合った位置が見付からなかった場合,-1を返します。ただし,pattern.lengthの値が2,147,483,639まで有効であるため,それを超えるとSQLExceptionを投入します。また,patternにnullを指定した場合は,NullPointerExceptionを投入します。 |
setBinaryStream(long pos) |
無条件にSQLExceptionを投入します。 |
setBytes(long pos,byte[] bytes) |
|
setBytes(long pos,byte[] bytes,int offset,int len) |
|
truncate(long len) |
- 注
-
位置付け子機能を使用してデータを取得した場合,ResultSet.close()やStatement.close()などを行うと,データが取得できなくなります。