using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; /**////<summary> /// DbHelperSQL 对数据库的各种操作。 ///</summary> publicclass DbHelperSQL //连接SQLSERVER数据库 ...{ SqlConnection Conn; //定义连接 public DbHelperSQL() ...{ } /**////<summary> /// 连字数据库 ///</summary> publicvoid ConnectDataBase() ...{ string Connectionstring = ConfigurationSettings.AppSettings["ConnectionString"]; Conn =new SqlConnection(Connectionstring); Conn.Open(); } /**////<summary> /// 执行存储过程返回DataTable ///</summary> ///<param name="sql"></param> ///<param name="ParentID"></param> ///<returns></returns> public DataTable ExecuteSql1(string sql, string ParentID) ...{ DataTable dt; try ...{ ConnectDataBase(); dt =new DataTable(); SqlDataAdapter da =new SqlDataAdapter(sql, Conn); SqlParameter parm =new SqlParameter("@ParentID", ParentID); da.SelectCommand.Parameters.Add(parm); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.Fill(dt); Conn.Close(); return dt; } catch ...{ Conn.Close(); return dt =null; } } }
存储过程:
CREATE PROCEDURE TreeViewGetData( @ParentID nvarchar(40)) --参数,父节点ID AS IF @ParentID IS NULl --如果,父节点ID为空 SELECT [ID],[NodeName] ,( SELECT COUNT(*) FROM RA_SubjectStore WHERE ParentID=Org.[ID]) AS ChildNodeCount FROM RA_SubjectStore AS Org WHERE @ParentID IS NULL ELSE --查询出该父节点下第一级子节点 SELECT [ID],[NodeName] ,( SELECT COUNT(*) FROM RA_SubjectStore WHERE ParentID=Org.[ID]) AS ChildNodeCount FROM RA_SubjectStore AS Org WHERE ParentID =@ParentID GO