在Microsoft的数据访问应用程序块(SQLHelper)中设置CommandTimeout

时间:2010-04-16 17:27:27

标签: .net application-blocks sqlhelper command-timeout

我正在使用数据访问应用程序块(SQLHelper)对数据库执行SQL。我有一个查询需要比默认命令超时30秒更长的查询。我想要超时,但我没有看到任何方法这样做而不破解应用程序块。有没有办法在不修改SQLHelper类的情况下更改CommandTimeout?

3 个答案:

答案 0 :(得分:2)

我也找不到答案,所以我做的是,我将DAAB中的SQLHelper.cd复制到我的项目中并开始使用它。 (它只是存档,所以很容易)

现在我可以在SQLHelper.cs中更改连接超时。

我不知道为什么在DAAB中无法配置

Manjesh

答案 1 :(得分:2)

在较新版本的DAAB中,SQLHelper为replaced by 'Database'。 然后,您可以使用DbCommand.SetCommandTimeOut - 请参阅here

答案 2 :(得分:0)

如果您仍在使用旧版本的DAAB,则会有许多FillDataset重载,它们将命令超时作为参数。

    public static void FillDataset(string connectionString, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames)

    public static void FillDataset(string connectionString, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters)

    public static void FillDataset(string connectionString, string spName, int commandTimeout, DataSet dataSet, string[] tableNames, params object[] parameterValues)

    public static void FillDataset(SqlConnection connection, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames)

    public static void FillDataset(SqlConnection connection, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters)

    public static void FillDataset(SqlConnection connection, string spName, int commandTimeout, DataSet dataSet, string[] tableNames, params object[] parameterValues)

    public static void FillDataset(SqlTransaction transaction, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames)

    public static void FillDataset(SqlTransaction transaction, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters)

    public static void FillDataset(SqlTransaction transaction, string spName, int commandTimeout, DataSet dataSet, string[] tableNames, params object[] parameterValues)