增加SQL命令的超时时间

我有一个小问题,希望有人能给我一些build议。 我正在运行一个SQL命令,但它似乎需要这个命令大约2分钟来返回数据,因为有大量的数据。 但默认的连接时间是30秒,我该如何增加这个,并将其应用到这个命令?

public static DataTable runtotals(string AssetNumberV, string AssetNumber1V) { DataTable dtGetruntotals; try { dtGetruntotals = new DataTable("Getruntotals"); //SqlParameter AssetNumber = new SqlParameter("@AssetNumber", SqlDbType.VarChar, 6); //AssetNumber.Value = AssetNumberV; SqlParameter AssetNumber = new SqlParameter("@AssetNumber", SqlDbType.VarChar, 10); AssetNumber.Value = AssetNumberV; SqlParameter AssetNumber1 = new SqlParameter("@AssetNumber1", SqlDbType.VarChar, 10); AssetNumber1.Value = AssetNumber1V; SqlCommand scGetruntotals = new SqlCommand("EXEC spRunTotals @AssetNumber,@AssetNumber1 ", DataAccess.AssetConnection); // scGetruntotals.Parameters.Add(AssetNumber); scGetruntotals.Parameters.Add(AssetNumber); scGetruntotals.Parameters.Add(AssetNumber1); SqlDataAdapter sdaGetruntotals = new SqlDataAdapter(); sdaGetruntotals.SelectCommand = scGetruntotals; sdaGetruntotals.Fill(dtGetruntotals); return dtGetruntotals; } catch (Exception ex) { MessageBox.Show("Error Retriving totals Details: Processed with this error:" + ex.Message); return null; } } 

由于有大量数据,因此需要使用该命令大约2分钟才能返回数据

坏devise。 考虑在这里使用分页。

默认连接时间是30秒,我怎么增加这个

由于你正在面对你的命令,所以你需要增加你的sql命令的时间 。 你可以像这样在你的命令中指定它

 // Setting command timeout to 2 minutes scGetruntotals.CommandTimeout = 120; 

添加你的SqlCommand超时。 请注意时间在第二。

 // Setting command timeout to 1 second scGetruntotals.CommandTimeout = 1; 

由于需要2分钟的时间来响应,你可以通过添加下面的代码来将超时时间增加到3分钟

 scGetruntotals.CommandTimeout = 180; 

注意 :参数值以秒为单位。