类文件:
public DataSet RunProc(string SQL, DataSet Ds) 

SqlConnection Conn; 
Conn = new SqlConnection(ConnStr); 
Conn.Open(); 
SqlDataAdapter Da = new SqlDataAdapter(SQL,Conn); 
try 

Da.Fill(Ds); 

catch(Exception Err) 

throw Err; 

Dispose(Conn); 
return Ds; 
} 我是这样调用的:
SY.Base.DataBase d=new SY.Base.DataBase();
DataSet ds = new DataSet();
objPage.DataSource=d.RunProc(sSql, ds).Tables[0].DefaultView;
运行都正常,就是写代码的时候写到objPage.DataSource=d.RunProc(sSql, ds).这里Tables应该出现下拉列表框中,但是我这里没有下拉列表框.请高人指点!!!

解决方案 »

  1.   

    具体情况不清楚,不过你代码写的不好,一般应该是这样的
    public DataSet RunProc(string SQL) 

                            DataSet ds = new DataSet();
    SqlConnection Conn; 
    Conn = new SqlConnection(ConnStr); 
    Conn.Open(); 
    SqlDataAdapter Da = new SqlDataAdapter(SQL,Conn); 
    try 

    Da.Fill(Ds); 

    catch(Exception Err) 

    throw Err; 

    Dispose(Conn); 
    return Ds; 
    } 我是这样调用的:
    SY.Base.DataBase d=new SY.Base.DataBase();objPage.DataSource=d.RunProc(sSql).Tables[0].DefaultView;
      

  2.   

    SY.Base.DataBase d=new SY.Base.DataBase();
    DataSet ds = new DataSet();
    objPage.DataSource=d.RunProc(sSql, ds).Tables[0].DefaultView;
    加上一句:
    objPage.DataBind();就OK 了
      

  3.   

    应该加DATABIND,要不怎么绑定啊!其实最好的办法是你加个断点,调试一下,就可以发现问题出在哪里了
      

  4.   

    下面的代码我没贴出来,功能上都没问题就是写代码是不方便,郁闷啊to:charles_y(难得糊涂) 
    public DataSet RunProc(string SQL) 
    {
    ……
    }
    这个方法已有,用来运行SQL语句
    public void RunProc(string SQL) 
    {
    ……
    }
      

  5.   


    to:xczgb(民工乐园) 
    重新生成也不行呀!!!以前也有过这种问题,重新生成一下就好了,可是这次不行呀!
    大家肯定都碰过这种事,高手指教一下吧
      

  6.   

    把名字RunProc改成GetDataSet,重新生成就好了,不过问题没弄明白
      

  7.   

    还有个不明白的地方,请高手指正public DataSet RunProc(string SQL) 

                            DataSet ds = new DataSet();
    SqlConnection Conn; 
    Conn = new SqlConnection(ConnStr); 
    Conn.Open(); 
    SqlDataAdapter Da = new SqlDataAdapter(SQL,Conn); 
    try 

    Da.Fill(Ds); 

    catch(Exception Err) 

    throw Err; 

    Dispose(Conn); 
    return Ds; 
    } public void Dispose(SqlConnection Conn) 

    if(Conn!=null) 

    Conn.Close(); 
    Conn.Dispose(); 

    GC.Collect(); 
    } 是不是调用Dispose(Conn);后,所有资源就释放了
    要不要明确加上Ds.Dispose();,才能释放掉DataSet
      

  8.   

    是不是调用Dispose(Conn);后,所有资源就释放了
    通常CONN。CLOSE就可以了。释放DISPOSE和数据库连接池有没有关系呢?