さじろーどっとねっと
<使い方>

カスタマイズ
sajidb.plの以下の部分を変更して下さい。ほとんどの場合、変更の必要性はありません

# Config
$d_timeout=60 * 10; # ロックタイムアウトの秒数
$d_DEBUG="FALSE"; # TRUE or FALSE(デバッグ情報の出力)
$d_doc="cgi"; # データファイルの拡張子
$d_data="data"; # デフォルトのデータパス

$d_timeout ロックの最長時間を指定します。長時間データをロックする場合は変更してください。デフォルトは1分です。
$d_DEBUG デバック情報を表示の設定です。表示する場合は「TRUE」を設定してください
$d_doc データファイルの拡張子です。通常は変更しないでください
$d_data デフォルトのデータパスです。通常は変更しないでください
(※ サンプルプログラムを動かす場合は変更しないで下さい)

基本的な呼び出し方法
概要
new関数によってデータベースは初期化されます。new関数で獲得したデータから他の全ての関数を呼び出します。(呼び出し方法は他にもありますが、動作確認をしたのはSAMPLE方法です)
Sample

require "sajidb.pl"; ## データベースファイルの宣言
$sdb = new sajidb; ## データベースの初期化
$no = $sdb->sequence( "tableseq" ); ## プライマリーIDの取得
## データの作成
$rec = "$no<>これはテストです<>This is test<>sajiro@bigfoot.com<>";
$sdb->access("insert table01", "$rec" ); ## データの登録
$sdb->commit(); ## この時点でデータは正式に登録されます
## 登録したデータを抽出する
@dat=$sdb->access("query table01 4 eq sajiro@bigfoot.com" );
foreach(@dat){
## 抽出したデータを分割する。
($no,$japan,$english,$email) = split( /<>/ ,$_ );
## 分割したデータを表示する。
print "$no,$japan,$english,$email\n";
## このように表示されます
## --> 1,これはテストです,This is test,sajiro@bigfoot.com
}

Commit,Rollbackの使用方法
概要
access関数から、insert,update,delete等により、変更されたデータはCommitにより変更が確定され、Rollbackによって変更をキャンセルすることが出来ます。
以下のプログラムを参照して下さい。
Sample

require "sajidb.pl"; ## データベースファイルの宣言
$sdb = new sajidb; ## データベースの初期化
$sdb->access("tablelock dattbl,seqtbl");## テープルロック
@dat = $sdb->access("query dattbl"); ## データの抽出(同時にテーブルをロックします)
foreach(@dat){
($no,$japan,$english,$email) = split( /<>/ ,$_ );
## 同じメールアドレスがあったらエラー
if($email eq "sajiro@bigfoot.com"){
print "このデータは既に登録されています";
$sdb->rollback(); ## 現在までの変更内容を消去します
}
}
## データの作成
$no = $sdb->sequence( "seqtbl" ); ## プライマリーIDの取得
$rec = "$no<>これはテストです<>This is test<>sajiro@bigfoot.com<>";
$sdb->access("insert dattbl", "$rec" ); ## データの登録
$sdb->commit(); ## この時点でデータは正式に登録されます
## 登録したデータを抽出する
@dat=$sdb->access( "query dattbl 4 eq sajiro@bigfoot.com" );
foreach(@dat){
## 抽出したデータを分割する。
($no,$japan,$english,$email) = split( /<>/ ,$_ );
## 分割したデータを表示する。
print "$no,$japan,$english,$email\n";
## このように表示されます
## --> 1,これはテストです,This is test,sajiro@bigfoot.com
}


ブックマークに追加する