2

这是我在 Stack Overflow 上的第一篇文章,所以请原谅(并随时指出)任何 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' 未声明。由于其保护级别,它可能无法访问。

搜索此站点以及 google 并没有发现任何有用的信息,但可能我正在搜索错误的关键字。

这是 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 寻求帮助!

乙脑

4

1 回答 1

0

您可以从 Adapter 类访问任何公共属性/方法吗?

我认为您可能在错误的命名空间中创建了部分类。它必须在Namespace MyDataSetTableAdapters

于 2010-11-12T21:23:23.170 回答