页面是无状态的,在页面中定义SqlConnection的变量显然是没有用处的,你真的想定义的话只能在Page_Load中,或在方法中定义.方法执行完,Conn就要关掉。

解决方案 »

  1.   

    UP
    建议你在CreateDataSet方法中建立连接。
      

  2.   

    1  cmdSelect="select * from S_Menu";  
    2  myCmd.Fill(ds,"tree")
    错误出在上面两行,第一行是sql语句,S_Menu是表名称,第二句中的tree也是表名称,把这两个都改成你保存树节点的那个表的名称,如果那个表的名称是:tree,那么代码是:
    1  cmdSelect="select * from tree";  
    2  myCmd.Fill(ds,"tree")
      

  3.   

    我这有一个向CSDN一样的树你要不要?要是要得话我给你一份,不过你可要给我份呀哈哈.........是我整理过的,很简单,用XML做的
      

  4.   

    编译出错:在行 40:myCmd.Fill(ds,"tree");
    这种错误一般是 DataSet中没有数据引起的,可以检查select 语句是否正确,或者,connection是否打开。
    编译出错:在行 40:myCmd.Fill(ds,"tree");这段代码本身没有问题;
    建议这样:
    private void Page_Load(object sender, System.EventArgs e)
      {
         SqlConnection Conn;
         Conn=new SqlConnection(Application["ConnString"].ToString());
         SqlDataAdapter myCmd;
         string cmdSelect;
         cmdSelect="select * from S_Menu";
         myCmd=new SqlDataAdapter(cmdSelect,Conn);
         ds=new DataSet();
         conn.open();
         myCmd.Fill(ds,"tree");//在这里的"tree"是什么意思??
         return ds;
         DataSet ds = new DataSet();   
         InitTree(tvMenu.Nodes,"0");
      }
      

  5.   

    粘贴快了,
         return ds;//可以不要
         DataSet ds = new DataSet(); //放在 
     myCmd.Fill(ds,"tree"); 前面