データベース

名前空間: DB

データベースは抽象化されたインターフェースを通してアクセスします。

データベースのオープントランザクション開始ロールバックコミットレコードセット作成SQL文実行
利用例


データベースのオープン
関数名Open(str_engine_namestr_open_parameter)
別名open
引数str_engine_name
データベースエンジンを、文字列で指定します。現在利用可能なのは以下の通りです。
'PostgreSQL'
 実行には、libpq.so(linux)、またはlibpq.dll(Windows)が必要
'MySQL'
 実行には、libmysqlclient.so(linux)、またはlibmySQL.dll(Windows)が必要

str_open_parameter
データベースをオープンする際に必要なパラメータを文字列で指定します。
パラメータの形式は、
"hostaddr=IPアドレス dbname=データベース名 user=ユーザ password=パスワード"

戻り値正常にオープンできた場合 true
それ以外 false
イベント正常にオープンできた場合のみ、$result に
データベース識別子がセットされ、イベントが発行されます。
備考イベント終了時に、データベースは自動的にクローズされます。


トランザクション開始
関数名BeginTrans(id_database)
別名begin_trans
引数id_database
 データベース識別子
戻り値無し
イベント無し


ロールバック
関数名Rollback(id_database)
別名rollback
引数id_database
 データベース識別子
戻り値無し
イベント無し


コミット
関数名Commit(id_database)
別名commit
引数id_database
 データベース識別子
戻り値無し
イベント無し


レコードセット作成
関数名CreateDynaset(id_databasestr_format_sql...)
別名create_dynaset
引数id_database
 データベース識別子

str_format_sql
書式化文字列。書式化文字列は、文字列中に以下の特別な指定を持てます。
%d 引数を受け取り、数値として置換
%s 引数を受け取り、文字列としてデータベースに格納可能な適切な形式に変換した後、
'(シングルクォーテーション)でくくる。ただし、文字列が空かnullであれば、NULLとして置換。
%S 引数を受け取り、文字列としてデータベースに格納可能な適切な形式に変換する

str_format_sqlに続く引数
上述書式化文字列内にある、特殊指定数分の引数を指定。

戻り値正常にレコードセットが作成できた場合(レコード数が0でも正常に作成とみなす) 件数
それ以外 -1
イベント正常にレコードセットが作成できた場合のみ、$result に
1レコードがセットされ、イベントが発行されます。
$resultは連想配列となり、要素名にカラム名、要素にフィールドが入ります。


SQL文実行
関数名ExecuteSQL(id_databasestr_format_sql...)
別名execute_sql
引数id_database
 データベース識別子

str_format_sql
書式化文字列。書式化文字列は、文字列中に以下の特別な指定を持てます。
%d 引数を受け取り、数値として置換
%s 引数を受け取り、文字列としてデータベースに格納可能な適切な形式に変換した後、
'(シングルクォーテーション)でくくる。ただし、文字列が空かnullであれば、NULLとして置換。
%S 引数を受け取り、文字列としてデータベースに格納可能な適切な形式に変換する

str_format_sqlに続く引数
上述書式化文字列内にある、特殊指定数分の引数を指定。

戻り値正常にSQLが発行できた場合 true
それ以外 false
イベント正常にSQLが発行できた場合のみ、イベントが発行されます。パラメータは存在しません。


利用例

strParameter = "hostaddr=IPアドレス dbname=データベース名 user=ユーザ password=パスワード";
DB::Open("PostgreSQL", strParameter){
    strName = "scott";
    DB::CreateDynaset($result, "SELECT sal, name FROM emp WHERE name=%s", strName){
        println($result['name'] + "さんが、" + $result['sal'] + "で見つかりました。");
    }
}