数据库取值形成xml实现tree

Create three .aspx files

TreeViewDataSet.aspx

<%@ import Namespace="Microsoft.Web.UI.WebControls" %>
<%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
<html>
<head>
<title>
TreeViewDataSet.aspx
</title>
</head>
<body>
<form runat="Server">
<IE:TreeView
 AutoPostBack="True"
 TreeNodeSrc="Categories.aspx"
 Runat="Server"/>
</form>
</body>
</html>

Categories.aspx

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="Server">
sub page_load
 Dim mycon as SqlConnection
 Dim cmdCategories As SqlCommand
 Dim dsCategories As DataSet
 Dim strQuery As String
 mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
 strQuery="select categoryname as Text,'products.aspx?catid='
 +LTRIM(STR(CategoryID))" & _
 "As TreeNodeSrc from Categories As TreeNode for xml auto, XMLDATA"
 cmdCategories=new SqlCommand(strQuery,mycon)
 dsCategories=New DataSet
 dsCategories.ReadXML(cmdCategories.ExecuteXmlReader(),XmlReadMode.Fragment)
 dsCategories.DataSetName="TREENODES"
 dsCategories.WriteXml(Response.OutputStream)
end sub
</script>

Products.aspx

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="Server">
sub page_load
 Dim mycon as SqlConnection
 Dim cmdProducts As SqlCommand
 Dim dsProducts As DataSet
 Dim strQuery As String
 mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
 strQuery="select Productname as Text from products As TreeNode" & _
 " where CategoryID=@categoryID for xml auto, XMLDATA "
 cmdproducts=new SqlCommand(strQuery,mycon)
 cmdproducts.Parameters.Add(New SqlParameter("@categoryID",Request.QueryString("catID")))
 mycon.open()
 dsproducts=New DataSet
 dsproducts.ReadXML(cmdproducts.ExecuteXmlReader(),XmlReadMode.Fragment)
 dsproducts.DataSetName="TREENODES"
 dsproducts.WriteXml(Response.OutputStream)
 mycon.close()
end sub
</script>


你可能感兴趣的:(数据库,xml,tree)