更改在Visual Studio 2012的VB项目表适配器(调用存储过程)超时?(Change t

2019-09-28 14:03发布

我的问题 :调用存储过程在30秒后超时。 似乎是自动生成的表适配器不提供修改它的接口。

:我怎样才能改变我的SP调用的超时值?

环境 :的Visual Studio 2012,代码在VB.NET,数据库:SQL Server 2008 R2中。 我使用与DataSet设计用于CRUD操作的数据集,也叫存储过程的。 自动生成的表适配器从代码中调用。

研究已经完成 :我已经找到了C#项目一些答案,但我在语言一点经验: 交1

Answer 1:

由于您使用强类型TableAdapter刚刚保存DataAdapterprotected财产,你不能改变所有SqlCommandCommandTimeout小号直接。 你可以做的是延长这个自动生成的类(这是一个Partial Class )。 因此,创建具有相同名称的另一个类在同一个目录中,例如: Public Partial Class YourTableAdapter

现在,您可以创建可访问新的属性或方法DataDapter 。 需要注意的是类具有相同的(自动生成)的命名空间坐。 例如:

Namespace ApplicationName.DataSetNameTableAdapters
    Partial Public Class YourTableAdapter
        Public Property CommandTimeout As Int32
            Get
                Return Me.CommandCollection(0).CommandTimeout
            End Get
            Set(value As Int32)
                For Each cmd As SqlCommand In Me.CommandCollection
                    cmd.CommandTimeout = value
                Next
            End Set
        End Property
    End Class
End NameSpace

不要延长原班( .designer.vb ),它会在设计的每一个变化被覆盖。

现在你可以做:

Dim adapter = new YourTableAdapter()
adapter.CommandTimeout = 60 * 30  ' 30 minutes 


文章来源: Change timeout for table adapter (call stored procedure) in Visual Studio 2012 VB project?