C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

TableAdapterからCommandオブジェクトを取得したい


(過去ログ 8 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■7935 / inTopicNo.1)  TableAdapterからCommandオブジェクトを取得したい
  
□投稿者/ NZ-000 二等兵(15回)-(2006/10/31(Tue) 08:50:01)

分類:[C#] 


分類:[C#] 

環境:
WindowxXP SP2
VS2005
Oracle10g

.NET2.0 から導入されたTransactionScopeを利用してトランザクション処理を行おうとしましたが、
oramts.dllが見つかりませんとエラーが出てしまいました。
Oracle Services for Microsoft Transaction Serverはインストールしているのに。。。

というわけでこれはあきらめて従来のように手動でトランザクション処理を実装しようとしました。
例えば以下のようにです。

_myTableAdapter.Connection.Open()
OracleTransaction transaction = _myTableAdapter.Connection.BeginTransaction();
try
{
  _myTableAdapter.Update(_myTable);
  transaction.Commit();
}
catch
{
  transaction.RollBack();
}

しかし、この場合、以下のようなエラーが出てしまいました。
"Execute が実行されるには、Command オブジェクトに割り当てられた Connection オブジェクトが、保留されているローカル トランザクションで保持されている場合は、Command オブジェクトに Transaction オブジェクトが割り当てられている必要があります。Command オブジェクトの Transaction プロパティは初期化されていません。"

というわけで、CommandオブジェクトにTransaction設定するかあと思いましたが、TableAdapterからCommandオブジェクトに手が届きません。
どのようにCommandオブジェクトを取得すれば良いのでしょうか?

もちろん、先に述べたエラーが他の手法で解決できるならばそれに越したことはないです。
また、やり方がまちがっているという意見でもいいのでどうぞよろしくお願いします。

0
引用返信 編集キー/
■7937 / inTopicNo.2)  Re[1]: TableAdapterからCommandオブジェクトを取得したい
□投稿者/ 中博俊 神(834回)-(2006/10/31(Tue) 09:14:25)
中博俊 さんの Web サイト

分類:[C#] 

partial機能を利用して、Commandを外部にさらすか、トランザクションをpartial側に実装させましょう。

0
引用返信 編集キー/
■7941 / inTopicNo.3)  Re[2]: TableAdapterからCommandオブジェクトを取得したい
□投稿者/ NZ-000 二等兵(16回)-(2006/10/31(Tue) 10:02:21)

分類:[C#] 

No7937に返信(中博俊さんの記事)
> partial機能を利用して、Commandを外部にさらすか、トランザクションをpartial側に実装させましょう。

お早い回答ありがとうございます。

実をいうと、中さんとえムナウさんのブログでのやり取りを見ていてpartialクラスで実装するんだなってことはわかっていたんですが、

CommandCollectionの取得方法がわからなかったのです。
継承すれば使えるということですが、以下の処理に継承が見られません。
具体的にどうすれば良いのでしょうか。
(GetAllDataTableAdapterがデザイナで生成したTableAdapter?)

 public partial class GetAllDataTableAdapter
 {
  public int? ReturnValue
  {
   get
   {
    object returnvalue = this.CommandCollection[0].Parameters[0].Value;
    if (returnvalue == System.DBNull.Value) return null;
    return (int)returnvalue;
   }
  }
 }

上記ソースは以下より引用しています。
http://blogs.wankuma.com/naka/archive/2005/11/07/19099.aspx



0
引用返信 編集キー/
■7992 / inTopicNo.4)  Re[3]: TableAdapterからCommandオブジェクトを取得したい
□投稿者/ NZ-000 二等兵(17回)-(2006/11/01(Wed) 16:44:47)

分類:[C#] 

勘違いしていました。
TableAdapterはプロジェクトで設定したのとは別の名前空間で定義されていたようです。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -