dポイントプレゼントキャンペーン実施中!

こんばんわ。

今年の四月から新米SEとして働いているものです。

他の言語の場合どうなるかわかりませんが、accessの場合、トランザクションを開始してSQL文を実行する際、「データベース.Execute SQL文」となると思うのですがDAOやADOで接続する際、最初のほうでワークスペースを定義しますよね。

トランザクションの開始、コミットやロールバックは、「ワークスペース.BeginTrans、ワークスペース.CommitTrans、ワークスペース.RollBack」なのになぜSQLを実行するときだけ「データベース.Execute SQL文」なのでしょうか?

私なりの考えでは、ワークスペースは中間作業領域。中間作業領域でなにかしらのエラーが起きたらロールバック、もし問題なければコミットするのでワークスペース.Commit等というのは理解したのですが、SQL文を実行するのはトランザクション中なのでワークスペースで実行「ワークスペース.Execute SQL文」なのではないのでしょうか?

ワークスペースへの理解が誤っているのでしょうか?

よろしくお願いします。

A 回答 (1件)

>ワークスペースは中間作業領域


ここが違います
ワークスペースはデータベースの上位オブジェクトです

DBEngine--Workspace--DataBase

トランザクションはワークスペースレベルで行われ
SQl実行はデータベースレベルで行われます
    • good
    • 0
この回答へのお礼

そういうことですか!
ありがとうございます!!

お礼日時:2007/06/09 21:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!