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.