用的是Oracle数据库在VS2005 在sqldatasource的控件属性把SQL语句写死查询结果很快在GridView显示出来,但是动态生成SQL时GridView显示就很慢!代码: protected void Page_Load(object sender, EventArgs e)
    {
         SqlDataSource1.SelectParameters.Clear();
       SqlDataSource1.SelectParameters.Add("id2", TypeCode.String, Request.QueryString["id2"].ToString());
       SqlDataSource1.SelectCommand="SELECT  R2, R3,REPLACE(REPLACE(REPLACE(to_char(to_date( r4, 'yyyymmddhh24miss'), 'yyyy----mm--dd- hh24:mi:ss '), '----', '年'), '--', '月'), '-', '日')R4 , to_char(to_date(R5, 'sssss '), 'mi\"分\"ss\"秒\" ')R5 FROM SHCD_20071001 WHERE r2=:id2"; 
    }

解决方案 »

  1.   

    为什么动态生成SQL时慢?  但是写死的SQL语句就很快呢?
    希望高人帮帮忙。
      

  2.   

    直接查嘛,你的问题没有遇到起过如果sql语句不一样的话你可以增加一个SqlDataSource
      

  3.   

    因为要根据网页传递过来的参数来生成不同的SQL语句。
    所以SQL语句肯定是多变的,就是知道为什么慢?
    我把“SqlDataSource1.SelectCommand="SELECT ”
    写在 protected void Page_Load(object sender, EventArgs e) 这里适合吗?
      

  4.   

    把SqlDataSource1.SelectCommand写进Page_Load没什么问题的。再说,能有什么问题?