vb6.0 ロールバックについて

タグの編集
投稿者 ジョン  (社会人) 投稿日時 2009/7/6 09:05:54
vb6.0でSQL-Serverにあるデータをロールバックしたいんですけど、ロールバックできません。
Rs.Open"DELETE FROM テーブル名",AdoConnection,adOpenKeyset,adLockOptimistic
みたいな文でデータを操作しています。
トランザクションの開始文や何か変数の宣言をしたらいいのか、どうしたらいいでしょう?
Workspaceでやれるのかなぁて思ってますが・・・
投稿者 太郎冠者  (社会人) 投稿日時 2009/7/6 09:48:12
また知恵袋にマルチポストしてるようだから、ちゃんとリンクしといてね。

#何度注意されても実行しないのは、日本語が読めないのかしらん?
#それとも意地はってるのかなw

どうでもいいけど、損をするのは誰なのか、ちゃんと考えた方がいいよ。
投稿者 るきお  (社会人) 投稿日時 2009/7/6 21:58:35
マルチポストの対応はこの掲示板の唯一のルールです。
後からでも良いので必ず守ってください。
ルールがわからなければこの投稿に返信の形で聞いてください。


それで、ご質問の内容ですが、
ADOを使用されているようですね。
この場合SQL Serverで処理中のトランザクションを制御するにはConnectionオブジェクトの
BeginTransメソッド、CommitTransメソッド、RollbackTransメソッドを使用します。
ロールバックしたいときにはRollbackTransメソッドです。

>Workspaceでやれるのかなぁて思ってますが・・・ 
Workspaceは確かDAOのオブジェクトですね。
DAOを使用するのであればWorkspaceオブジェクトのBeginTransメソッド、CommitTransメソッド、Rollbackメソッドで制御しますが、
>Rs.Open"DELETE FROM テーブル名",AdoConnection,adOpenKeyset,adLockOptimistic
このコードがADOのようなので、今回は当てはまらないかと思います。