new(""); ">

さじろーどっとねっと
<Commit,Rollbackの使用方法>

以下のプログラムを参照して下さい。(ちょっと日記プログラム)
Sample

require "lib/perl.pl"; ## データベースファイルの宣言
$sdb = perl->new(""); ## データベースの初期化

if($FORM{'commect'} ne ""){ ## コメントが入っていたら
## 二重登録の防止、同じコメントは削除
@dat=$sdb->delete("table","2 eq $FORM{'commect'}");
if($#dat >= 0){ ## データがある時
$sdb->rollback; ## 重複データはエラー
exit;
}

## 日付とコメントの追加
$sdb->insert("table","$date<>$FORM{'commect'});

## 新しい順にソートして先頭の30件以降はoldに移動する
$sdb->movetable("table","old","0 sort down","under max 30");

## 古いデータは100件残して、削除する。
$sdb->delete("old","0 sort down","under max 100");

## 変更結果を反映する
$sdb->commit;
}
## tableから、先頭の30件を取り出す
@dat = $sdb->select("table","0 sort up","upper max 30")
foreach(@dat){
## データを区切り文字で区切る
($no,$date,$commect)=split(/<>/,$_);
## データを表示する
print "$no,$date,$commect";
}

insert,update,delete,selectForUpdate等により、変更されたデータはCommitにより変更が確定され、Rollbackによって変更をキャンセルすることが出来ます。

ブックマークに追加する