これはスタック オーバーフローに関する私の最初の投稿ですので、n00b の誤りを許してください (また、遠慮なく指摘してください)。
次の例で説明するように、部分クラスを拡張することにより、VB.NET (Visual Studio 2010 を使用) で複数の TableAdapter にトランザクションを実装しようとしています。
http://blah.winsmarts.com/2006/06/18/the-definitive-tableadapters--transactions-blog-post.aspx
madprops.org/blog/typed-datasets-and-sqltransaction/
stackoverflow.com/questions/2342289/net-tableadapter-to-dataadapter
ただし、デザイナーによって作成されたプライベート フィールドを公開しようとすると、エディターで下線が引かれ、次のエラーが表示されます。
「_adapter」が宣言されていません。保護レベルにより、アクセスできない場合があります。
このサイトとグーグルを検索しても、役立つものは何も見つかりませんでしたが、間違ったキーワードを検索しているようです。
MyDataset.vb のコードは次のとおりです。
Partial Public Class MyTableAdapter
Public Property MyTransaction() As SqlTransaction
Get
Return _adapter.SelectCommand.Transaction
End Get
Set(ByVal value As SqlTransaction)
If _adapter Is Nothing Then
InitAdapter()
End If
Connection = value.Connection
_adapter.InsertCommand.Transaction = value
_adapter.UpdateCommand.Transaction = value
_adapter.DeleteCommand.Transaction = value
End Set
End Property
End Class
デザイナーコードは次のとおりです。
Partial Public Class MyTableAdapter
Inherits Global.System.ComponentModel.Component
Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter
Private _connection As Global.System.Data.SqlClient.SqlConnection
Private _transaction As Global.System.Data.SqlClient.SqlTransaction
Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand
何か不足していますか、またはこれは VB では不可能ですか (私が見た例はすべて C# にあります)。
どんな助けでもTIA!
日