- ベストアンサー
データベースに書き込むときの排他処理
ASP3.0 IIS5.0 ASP初心者です。初心者の素朴な疑問なんですが、 ASPで、例えばWebページから入力された情報を、 Accessなどのデータベースに書き込むとき、 排他処理って必要ですよね? 一般的にどうやるのでしょうか? Application変数を使うのでしょうか? データベース自体に排他制御する機能があるのですか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一般的にはADO ConnectionのTransactionを使うと思います。 On Error Resume Next Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open 接続文字列hoge Conn.BeginTrans Err.Clear Conn.Execute("INSERT INTO hoge VALUES(1, 'aaa')") If Err.Number <> 0 Then Conn.RollBackTrans Else Conn.CommitTrans End If Conn.Close Set Conn = Nothing On Error Goto 0 みたいな感じですかね。 <%@ TRANSACTION=Required %>と記述する方法もありますが、こちらは 使用した事がないので、解答は別の方にお任せします(w
お礼
ご回答ありがとうございます。 トランザクションという言葉が私にはいまいち ピンと来ないのですが、 ある一連の処理があって、 それを後から実行またはキャンセルできるものと 考えればいいのでしょうか? 記述していただいたスクリプトは参考になりそうです。 一ヶ所だけ、教えていただきたいのですが、 On Error Goto 0 というのは、 要するにスクリプトを終了する事なのでしょうか? よろしくお願いします。