页面上有多个datalist需要绑定到数据源。如:  
SqlConnection  myConnection  =  new  SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);  
                                               string  strCom1  =  "SELECT  name,id    FROM  Emporium    ";  
                                               SqlCommand  selCom1  =  new  SqlCommand(strCom1,  myConnection);                                                  
                                               System.Data.SqlClient.SqlDataReader  dr;  
 
                                               myConnection.Open();                      
                                             
                                               dr  =  selCom1.ExecuteReader();  
                                               Datalist1.DataSource  =  dr;  
                                               Datalist1.DataBind();  
                                               dr.Close();  
 
                                                 
 
                                               string  strCom2  =  "SELECT  id,sort    FROM  sort    ";  
                                               SqlCommand  selCom2  =  new  SqlCommand(strCom2,  myConnection);                                                  
                                               System.Data.SqlClient.SqlDataReader  dr2;  
                                               dr2  =  selCom2.ExecuteReader();  
                                               DataList2.DataSource  =  dr2;  
                                               DataList2.DataBind();  
                                               dr2.Close();  
 
                                     
                                               string  strCom3  =  "SELECT  top  8  shopname  as  name  ,url  ,substring(title,1,10)  as  title2    FROM  info  where  zn='0'  ORDER  BY  id  DESC";  
                                               SqlCommand  selCom3  =  new  SqlCommand(strCom3,  myConnection);                                                  
                                               System.Data.SqlClient.SqlDataReader  dr3;  
                                               dr3  =  selCom3.ExecuteReader();  
                                               DataList3.DataSource  =  dr3;  
                                               DataList3.DataBind();  
                                               dr3.Close();  
 
 
问题是如何重用上面的那一段绑定代码,可否写一段函数,传递给它不同的参数,获得不同的结果。  
???

解决方案 »

  1.   

    楼主下次贴代码,搞整洁一点,这样看的人就会多一点
    当然可以,
    public void binddata(DataList dl, string strsql)
    {
        SqlConnection  myConnection  =  new  SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);  
       SqlCommand  selCom  =  new  SqlCommand(strsql, connection);                      
       System.Data.SqlClient.SqlDataReader    dr  =  selCom.ExecuteReader();    dl.datasource= dr;
      dl.databind();
      dr.close();}调用就不说了
      

  2.   

    不好意思,里面还忘记了  
    myConnection.close();
      

  3.   

    //定义
    private void databind(string strCom,Datalist datalist)
    {    ...省去}
    //调用
    SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
     databind( "SELECT name,id  FROM Emporium ",Datalist1);我用这个方法时,重新生成解决方案:
    -------找不到类型或命名空间名称“Datalist”(是否缺少 using 指令或程序集引用?)
    -提示找不到这样的类型,怎么办?????
      

  4.   

    我没有在代码器编写,大小写不一定对,你要纠正一下
    Datalist 是DataList
      

  5.   

    public void binddata(DataList dl, string strsql)
    {
    SqlConnection  myConnection  =  new  SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);  
    SqlCommand  selCom  =  new  SqlCommand(strsql, myConnection);                      
    System.Data.SqlClient.SqlDataReader    dr  =  selCom.ExecuteReader();   dl.DataSource= dr;
    dl.DataBind();
    dr.Close();
    myConnection.Close();}
    这样就应该没有语法错误了
      

  6.   

    调用时就是
    binddata("SELECT  name,id    FROM  Emporium ",Datalist1) ;
    binddata("SELECT  id,sort    FROM  sort    ",Datalist2) ;
    binddata("SELECT  top  8  shopname  as  name  ,url  ,substring(title,1,10)  as  title2    FROM  info  where  zn='0'  ORDER  BY  id  DESC",DataList3)