是不是TREEVIEW连接数据库动态生成节点,就一定要通过XML??如果不是又怎么实现呢??
我用XML的方法试了一下,但是总是出错.,(初学,是对着书改的),说什么Data at the root level is invalid. Line 1, position 1.
。
我的数据库表Student_Table
xno int 4 primary key
xname char 10
collage varchar 20
...
。
tree.aspx:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TreeView1.TreeNodeSrc = "xmlzhuan.xml"
TreeView1.SelectExpands = True
TreeView1.DataBind()
End Sub
...............................................................
xmlzhuan.xml:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim con As SqlConnection
Dim cmd As SqlCommand
Dim ds As DataSet
Dim strQuery As String
con = New SqlConnection("server=(local);uid=sa;pwd=;database=lab")
strQuery = "select xname as text,'treelab.aspx?xno='+ltrim(str(xno))" & "as treenodesrc from Student_Table as TREENODE for xml auto,xmldata"
cmd = New SqlCommand(strQuery, con)
con.Open()
ds = New DataSet
ds.ReadXml(cmd.ExecuteXmlReader, XmlReadMode.Fragment)
ds.DataSetName = "TREENODES"
ds.WriteXml(Response.OutputStream)
con.Close() End Sub
........................................................................
treelab.aspx:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim con As SqlConnection
Dim cmd As SqlCommand
Dim ds As DataSet
Dim str As String
con = New SqlConnection("server=(local);uid=sa;pwd=;database=lab")
str = "select xname as text from Student_Table as TREENODE" & "where xno=@xno for xml auto,XMLDATA"
cmd = New SqlCommand(str, con)
cmd.Parameters.Add(New SqlParameter("@xno", Request.QueryString("xno")))
con.Open()
ds = New DataSet
ds.ReadXml(cmd.ExecuteXmlReader, XmlReadMode.Fragment)
ds.DataSetName = "TREENODES"
ds.WriteXml(Response.OutputStream)
con.Close()
End Sub找了很久都找不到问题出在哪,,郁闷啊,,
我用XML的方法试了一下,但是总是出错.,(初学,是对着书改的),说什么Data at the root level is invalid. Line 1, position 1.
。
我的数据库表Student_Table
xno int 4 primary key
xname char 10
collage varchar 20
...
。
tree.aspx:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TreeView1.TreeNodeSrc = "xmlzhuan.xml"
TreeView1.SelectExpands = True
TreeView1.DataBind()
End Sub
...............................................................
xmlzhuan.xml:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim con As SqlConnection
Dim cmd As SqlCommand
Dim ds As DataSet
Dim strQuery As String
con = New SqlConnection("server=(local);uid=sa;pwd=;database=lab")
strQuery = "select xname as text,'treelab.aspx?xno='+ltrim(str(xno))" & "as treenodesrc from Student_Table as TREENODE for xml auto,xmldata"
cmd = New SqlCommand(strQuery, con)
con.Open()
ds = New DataSet
ds.ReadXml(cmd.ExecuteXmlReader, XmlReadMode.Fragment)
ds.DataSetName = "TREENODES"
ds.WriteXml(Response.OutputStream)
con.Close() End Sub
........................................................................
treelab.aspx:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim con As SqlConnection
Dim cmd As SqlCommand
Dim ds As DataSet
Dim str As String
con = New SqlConnection("server=(local);uid=sa;pwd=;database=lab")
str = "select xname as text from Student_Table as TREENODE" & "where xno=@xno for xml auto,XMLDATA"
cmd = New SqlCommand(str, con)
cmd.Parameters.Add(New SqlParameter("@xno", Request.QueryString("xno")))
con.Open()
ds = New DataSet
ds.ReadXml(cmd.ExecuteXmlReader, XmlReadMode.Fragment)
ds.DataSetName = "TREENODES"
ds.WriteXml(Response.OutputStream)
con.Close()
End Sub找了很久都找不到问题出在哪,,郁闷啊,,
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货