Top > OOoBasic > Base > RowSet

行セット Edit

データの利用またはデータの変更などに利用する com.sun.star.sdbc.RowSet サービス。com.sun.star.sdbc.ResultSet をインクルードしているため、ResultSet がかなりの部分を占めています。

また、フォームを利用する場合にはフォームオブジェクトは .sdb.ResultSet、.sdb.RowSet、.sdbc.ResultSet、.sdbc.RowSet サービスをサポートしているため同じ操作が行えます。

サービス Edit

サービスをインスタンス化して利用します。

oRowSet = CreateUnoService("com.sun.star.sdbc.RowSet")

アクティブ接続 Edit

データソースから取得した接続を指定します。

oRowSet.ActiveConnection = oDBConnection

コマンド Edit

コマンドの種類を CommandType に設定します。タイプが COMMAND の時には Command に SQL ステートメントを指定します。

データの取得 Edit

execute メソッドでデータソースからデータを取得します。

カーソルの移動 Edit

現在のデータ行を示すカーソルを移動するメソッドが数種類あります。

次のレコード Edit

next メソッドで次のレコードへカーソルを移動します。次のレコードがない場合 false が戻ります。

While oRowSet.next()
  oRowSet.getString(0)
WEnd

前のレコード Edit

previous メソッドで一つ前のレコードへ移ります。次のレコードが無いときには false が戻ります。

相対移動 Edit

relative メソッドで現在のカーソル位置から相対的に移動します。

行指定での移動 Edit

absolute メソッドで特定の行に移動します。

最初の行より前および最後の行後 Edit

行の開始前への移動は beforeFirst メソッドで、最後の行後への移動は afterLast メソッドで行います。

カーソル位置の確認 Edit

isBeforeFirst メソッドで開始前の位置かどうか、isAfterLast メソッドで最終行後の位置かどうかを確認できます。

isFirst メソッドで最初の行かどうか、isLast メソッドで最後の行かどうか確認できます。

最初の行と最後の行 Edit

最初の行へは first メソッドで、最後の行へは last メソッドで移動します。

カーソル位置 Edit

現在のカーソル位置を示すインデックスを getRow メソッドで取得できます。

列の検索 Edit

列データを検索するには findColumn メソッドを利用します。戻り値は現在のセット中の列long 型でのインデックスです。

oRowSet.findColumn("WORD")

列のインデックスはソースからデータを取得するときに利用します。

値の取得 Edit

各データを取得するには列を指定します。指定した列インデックスのデータを特定の型データとして取得します。

  • getString
  • getBoolean
  • getByte
  • getShort
  • getInt
  • getLong
  • getFloat
  • getDouble
  • getBytes
  • getDate
  • getTime
  • getTimestamp
  • getBinaryStream
  • getCharacterStream
  • getRef
  • getBlob
  • getClob
  • getArray
  • getObject( [in] long columnIndex, [in] com.sun.star.container.XNameAccess typeMap )

また、wasNull メソッドで NULL 値かどうか確認できます。

列指定には列番号を使用します。

nColID = oRowSet.findColumn("WORD")
sStr = oRowSet.getString( nColID )

値の更新 Edit

値を更新するメソッドは次のものがあります。

  • updateNull ( [in] long columnIndex )
  • updateBoolean ( [in] long columnIndex, [in] boolean x )
  • updateByte ( [in] long columnIndex, [in] byte x )
  • updateShort ( [in] long columnIndex, [in] short x )
  • updateInt ( [in] long columnIndex, [in] long x )
  • updateLong ( [in] long columnIndex, [in] hyper x )
  • updateFloat ( [in] long columnIndex, [in] float x )
  • updateDouble ( [in] long columnIndex, [in] double x )
  • updateString ( [in] long columnIndex, [in] string x )
  • updateBytes ( [in] long columnIndex, [in] []byte x )
  • updateDate ( [in] long columnIndex, [in] com.sun.star.util.Date x )
  • updateTime ( [in] long columnIndex, [in] com.sun.star.util.Time x )
  • updateTimestamp ( [in] long columnIndex, [in] com.sun.star.util.DateTime x )
  • updateBinaryStream ( [in] long columnIndex, [in] com.sun.star.io.XInputStream x, [in] long length )
  • updateCharacterStream ( [in] long columnIndex, [in] com.sun.star.io.XInputStream x, [in] long length )
  • updateObject ( [in] long columnIndex, [in] any x )
  • updateNumericObject ( [in] long columnIndex, [in] any x, [in] long scale )

値の設定 Edit

次のメソッドを利用して値を設定します。

  • setNull ( [in] long parameterIndex, [in] long sqlType )
  • setObjectNull ( [in] long parameterIndex, [in] long sqlType, [in] string typeName )
  • setBoolean ( [in] long parameterIndex, [in] boolean x )
  • setByte ( [in] long parameterIndex, [in] byte x )
  • setShort ( [in] long parameterIndex, [in] short x )
  • setInt ( [in] long parameterIndex, [in] long x )
  • setLong ( [in] long parameterIndex, [in] hyper x )
  • setFloat ( [in] long parameterIndex, [in] float x )
  • setDouble ( [in] long parameterIndex, [in] double x )
  • setString ( [in] long parameterIndex, [in] string x )
  • setBytes ( [in] long parameterIndex, [in] []byte x )
  • setDate ( [in] long parameterIndex, [in] com.sun.star.util.Date x )
  • setTime ( [in] long parameterIndex, [in] com.sun.star.util.Time x )
  • setTimestamp ( [in] long parameterIndex, [in] com.sun.star.util.DateTime x )
  • setBinaryStream ( [in] long parameterIndex, [in] com.sun.star.io.XInputStream x, [in] long length )
  • setCharacterStream ( [in] long parameterIndex, [in] com.sun.star.io.XInputStream x, [in] long lengt- )
  • setObject ( [in] long parameterIndex, [in] any x )
  • setObjectWithInfo ( [in] long parameterIndex, [in] any x, [in] long targetSqlType, [in] long scale )
  • setRef ( [in] long parameterIndex, [in] com.sun.star.sdbc.XRef x )
  • setBlob ( [in] long parameterIndex, [in] com.sun.star.sdbc.XBlob x )
  • setClob ( [in] long parameterIndex, [in] com.sun.star.sdbc.XClob x )
  • setArray ( [in] long parameterIndex, [in] com.sun.star.sdbc.XArray x )

行の挿入 Edit

insertRow メソッドで新たな行を挿入します。

挿入した行へは moveToInsertRow メソッドで移動できます。また、元の行に戻るには moveToCurrentRow メソッドを利用します。

行の削除 Edit

deleteRow メソッドで現在のカーソル行を削除します。

行の更新 Edit

updateXXX メソッドで更新された行の更新を適用するために updateRow メソッドで既存の行を更新します。

updateRow メソッドを呼ぶ前に行の更新を cancelRowUpdates メソッドで破棄できます。

情報 Edit

getMetaData メソッドで現在の RowSet の情報を取得できます。

返り値の型メソッド名引数説明
stringgetCatalogName( [in] long column )表のカタログ名
longgetColumnCount()列数を取得します
longgetColumnDisplaySize( [in] long column )列表示最大文字数
stringgetColumnLabel( [in] long column )列ラベル
stringgetColumnName( [in] long column )列名を返します
stringgetColumnServiceName( [in] long column )列データサービス名
longgetColumnType( [in] long column )列データタイプ com.sun.star.sdbc.DataType 定数
stringgetColumnTypeName( [in] long column )列データタイプ名
longgetPrecision( [in] long column )
longgetScale( [in] long column )
stringgetSchemaName( [in] long column )列のスキーマ名
stringgetTableName( [in] long column )所属する表名
booleanisAutoIncrement( [in] long column )自動で増加 (ID フィールドなど)。true のときは読み込み専用
booleanisCaseSensitive( [in] long column )大文字と小文字を区別するかどうか
booleanisCurrency( [in] long column )通貨値かどうか
booleanisDefinitelyWritable( [in] long column )確実に書き込み可能かどうか
longisNullable( [in] long column )Null 値が利用可能かどうか
booleanisReadOnly( [in] long column )読み込み専用かどうか
booleanisSearchable( [in] long column )
booleanisSigned( [in] long column )符号付かどうか
booleanisWritable( [in] long column )書き込み可能かどうか

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes