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