各位朋友下午好,我有一个储存过程在SQL分析器中执行只需2秒钟即可完成查询(输出3个表)。 当然在C#中使用SqlDataAdapter执行此存储过程Fill到我的DataSet中的时候,花费的时间非常久,长达40-50秒。不知是什么原因?C#代码:
string str = string.Format("exec AR030B_GetDataThreeTables '{0}','{1}'", deStart.Text, deEnd.Text);
SqlConnection conn = DataOperate.getConn();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlDataAdapter sqlDal = new SqlDataAdapter(str, conn);
sqlDal.SelectCommand.CommandTimeout = 0;
sqlDal.TableMappings.Add("Table", "MonthSummary");
sqlDal.TableMappings.Add("Table1", "CustSummary");
sqlDal.TableMappings.Add("Table2", "Details");
sqlDal.Fill(dsAR030B1);SQL存储过程是由三个select语句输出三个表
string str = string.Format("exec AR030B_GetDataThreeTables '{0}','{1}'", deStart.Text, deEnd.Text);
SqlConnection conn = DataOperate.getConn();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlDataAdapter sqlDal = new SqlDataAdapter(str, conn);
sqlDal.SelectCommand.CommandTimeout = 0;
sqlDal.TableMappings.Add("Table", "MonthSummary");
sqlDal.TableMappings.Add("Table1", "CustSummary");
sqlDal.TableMappings.Add("Table2", "Details");
sqlDal.Fill(dsAR030B1);SQL存储过程是由三个select语句输出三个表
储存过程在查询分析器中真的执行很快的。