在以下情况下如何设置命令超时时间?为了澄清起见,我已经在连接字符串中设置了连接超时,但是我还需要设置命令超时,因为我希望查询能够在需要的情况下运行5分钟,但是它的超时时间少于几分钟。

 String reportQuery = @"  complicated query returning many rows    ";

 SqlConnection ReportConnect = new SqlConnection(ConnectionString);

 ReportConnect.Open();

 DataSet tempDataset = new DataSet();

 SqlDataAdapter da = new SqlDataAdapter(reportQuery, ReportConnect);

 da.Fill(tempDataset);

最佳答案

您可以在命令上创建一个SqlCommand设置CommandTimeout属性,然后将其传递给数据适配器的构造函数。像这样的东西:

String reportQuery = @"  complicated query returning many rows    ";
SqlConnection ReportConnect = new SqlConnection(ConnectionString);
ReportConnect.Open();
SqlCommand command = new SqlCommand(reportQuery, ReportConnect);
command.CommandTimeout = 300; //5 mins
DataSet tempDataset = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(tempDataset);

关于c# - 基于复杂查询填充临时表时如何设置超时?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1529580/

10-11 22:45
查看更多