- PR -

OLEDBでのトランザクション処理の関連付けについて

投稿者投稿内容
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-05-17 20:53
UpdateData()メソッドの引数をOleDbConnectionではなく、
OleDbWrapperにしたら出来ると思いますよ。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-17 21:19
引用:

Iuretさんの書き込み (2006-05-17 20:44) より:

しかし、こういうケースだったらどうですか?

UpdateData(m_Con,"[好きな SQL コマンド]",m_Tran) 
↑※m_Conだけ渡して、ここのm_Tranを省略したいです。


まったく同じことですよね。
Connection も OleDbWrapper クラスに含めます。

というより、それを含めて話をしているつもりでした。

そうでないと、

引用:

wrapper = New OleDbWrapper()
wrapper.Open("[接続文字列]")


この Open メソッドの引数 (接続文字列) は何も意味を成しません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Iuret
会議室デビュー日: 2006/05/15
投稿数: 13
投稿日時: 2006-05-18 18:51
わかりやすい、ご返答ありがとうございます。m(_ _)m
wrapper.Openでwrapper内のコネクションを開いて置いて、
Executeに引数を入れなくても、wrapper内の開いたコネクションで処理するばいいという事ですね?
トランザクションも同じ用にwrapper内部で開始しているトランザクションで処理をすればいいということですね?
もう一つだけ、聞きたいのですが、
トランザクション始めたコネクション(m_Con.BeginTransaction済み)から
トランザクションを取得する事は可能ですか?
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-05-18 21:48
不可能です。
BeginTransactionで返されたSqlTransactionからSqlConnectionを取得することはできますが、
SqlConnectionからSqlTransactionを取得することはできません。
そもそも、SqlConnection内部ではトランザクションを管理していません。
Iuret
会議室デビュー日: 2006/05/15
投稿数: 13
投稿日時: 2006-05-18 22:51
うにくまさん、ご返答ありがとうございます。m(_ _)m
初めて書き込みだったのでうまく質問事項が書けず、自分の勉強不足さも実感しました。
長々とご迷惑をおかけしました。おかげさまで理解深める事ができました。
じゃんぬねっとさん、R・田中一郎さん、うにくまさん、ご協力ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-18 23:11
引用:

Iuretさんの書き込み (2006-05-18 18:51) より:

トランザクションも同じ用にwrapper内部で開始しているトランザクションで処理をすればいいということですね?


この場合はそうですね。
コレクションを使って、内部的に入れ子になったトランザクションも管理することもできるでしょう。

引用:

トランザクション始めたコネクション(m_Con.BeginTransaction済み)から
トランザクションを取得する事は可能ですか?


BeginTransaction の戻り値を別途参照として確保しておけば、間接的には可能ですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)