Ruby/OpenBase リファレンス

基本的な使い方

OpenBaseオブジェクトを使ってデータベースに接続し、SQL文を実行します。 execute()でSQL文を実行すると、結果テーブルを操作するためのOpenBaseResultオブジェクトを取得できます。 あとはfetch()かeach()で結果のデータ行を取得します。 以下が簡単な例です。

require 'openbase'

# データベースに接続
ob = OpenBase.new('WOMovies', 'localhost', 'admin', '')

# SQL文を実行
result = ob.execute 'select * from MOVIE'

# 結果のデータ行を表示
result.each do |row|
  p row
end

OpenBase クラス

データベースに接続し、通信を行うクラスです。

クラスメソッド

new( database='', host='localhost', login_name='', password='' )
オブジェクトを生成し、データベースに接続します。

インスタンスメソッド

(データベースの情報)

database
データベース名を返します。
host
ホスト名を返します。
login
ログイン名を返します。
password
パスワードを返します。
encoding
エンコーディングの設定を返します。

(スキーマの情報)

tables
すべてのテーブル名の配列を返します。
columns( table )
指定したテーブルの列名の配列を返します。
relationships( table )
指定したテーブルのリレーションシップの配列を返します。

(データベースとの接続)

connect( database='', host='localhost', login_name='', password='' )
データベースに接続します。
invalidate
データベースへの接続を解除します。
connect?
データベースに接続していればtrueを、そうでなければfalseを返します。

(SQL文の実行)

execute( statement )
SQL文を実行し、OpenBaseResultオブジェクトを返します。

(トランザクション)

transaction { |connection| ... }
トランザクションを開始し、ブロックを実行します。 ブロックが例外を発生せずに終了すればコミットし、例外を発生すればロールバックします。 このメソッドを実行するときにトランザクションを実行中であれば、 そのトランザクションをコミットしてからブロックを実行します。
begin
トランザクションを開始します。
commit
現在のトランザクションをコミットします。
rollback
現在のトランザクションをロールバックします。
transaction?
トランザクションを処理中ならばtrueを、そうでなければfalseを返します。

(IDの生成)

unique_row_id( table, column = '' )
テーブルと列に対する新しい _rowid 値を生成します。 この値は新しいレコードを登録するときに使います。 _rowid はOpenBaseが内部で使用するデータですから、通常このメソッドを使う必要はないでしょう。

OpenBaseResult クラス

クエリ実行結果テーブルのクラスです。

インスタンスメソッド

(クエリ実行結果の情報)

column_count
列数を返します。
rows_affected
影響した行数を返します。
column_infos
OpenBaseColumnInfoオブジェクトの配列を返します。

(フェッチ)

fetch
クエリ実行結果を1行フェッチし、配列で返します。 フェッチするデータがなくなるとnilを返します。
each { |row| ... }
クエリ実行結果を1行ずつフェッチします。
free
クエリ実行結果に使用しているメモリを解放します。

OpenBaseColumnInfo クラス

列の情報を持つクラスです。

インスタンスメソッド

name
列名を返します。
type
データ型を返します。
table
テーブル名を返します。

Copyright (C) SUZUKI Tetsuya. All rights reserved.