- - PR -
VisualStdioからトランザクションの制御を行う方法について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-11-09 13:55
こんにちは
VC6.0からSybseのDatabaseに対してトランザクションを開始し ロールバック、コミットを判断しようとしましたがどうにもうまくいきません。 症状は、m_db.BeginTrans( )のところでトランザクションが開始できていないようです。 下にソースをつけておきますので参考にしてください。 ProcedureでBEGIN TRANSACTIONだけを行うこともやってみましたが うまくいきません。VCにてトランザクションの開始コミット、ロールバックを行うことはできないのでしょうか? 環境は、VC++6.0 日本語 AdaptiveServerAnywhere ver9.0.2です。 ご存知の方おられたらご教授ください。 よろしくお願いします。 CDatabase m_db; BOOL bRet = FALSE; m_db.BeginTrans( ); // Begin transaction bRet = ExecuteProc(strCommand); //ExecuteSQLを使用してProcedureの実行する関数 if(!bRet) { m_db.Rollback( ); // Rollback transaction return FALSE; } m_db.CommitTrans( ); // Commit transaction return TRUE; |
|
投稿日時: 2006-11-09 14:20
「どうもうまくいきません」「できていないようです」とのことですが、具体的には
何がうまくいかないのでしょうか。 |
|
投稿日時: 2006-11-10 13:54
返答遅くなりすみませんでした。
なぜかログインできなくなってました。 なにが出来なかったのかといいますと m_db.BeginTrans( ); でトランザクションを開始することや m_db.Rollback( ); でロールバックすることができませんでした。 色々調べた結果 結論は、SybaseやSQLServerではAutoCommitされてしまうため MFCを使用するとRollbackが出来ないということでした。 ありがとうございます。 |
1