PDA

View Full Version : مشکل در خواندن منو از دیتابیس و ریختن در XML



neynavaz
شنبه 19 شهریور 1390, 12:47 عصر
سلام
من این توابع



Public Function GetMenubyParentId(ByVal parentid As Integer) As DataTable
Dim dt As New DataTable
Dim ds As New DataSet
Dim rlist As New ResultList


ds = sqlfx.FillDataset("select * from TLOc where ParentId= " + parentid.ToString, rlist)


dt = ds.Tables(0)

Return dt

End Function

Public Sub CreateMenu()



Using writer = XmlWriter.Create(Server.MapPath("Temp\Menu.XML"))

writer.WriteStartDocument()
writer.WriteStartElement("Menu")


CreateNodes(0)


writer.WriteEndDocument()
End Using
End Sub

Public Sub CreateNodes(ByVal parentId As Integer)


Dim dt As New DataTable
dt = GetMenubyParentId(parentId)
'MsgBox(dt.Rows.Count.ToString)



For Each dr As DataRow In dt.Rows


writer.WriteStartElement("Node")

writer.WriteStartAttribute("ID")
writer.WriteValue(dr("locCode").ToString())
writer.WriteEndAttribute()


writer.WriteStartAttribute("Name")
writer.WriteValue(dr("LocName").ToString())
writer.WriteEndAttribute()


'CreateNodes(Convert.ToInt32(dr("MenuID")))
CreateNodes(CInt(dr("locCode")))




Next



End Sub





و این رفرنس ها رو نوشتم



Imports System
Imports System.Data
Imports System.Data.Odbc
Imports System.Data.SqlClient
Imports System.Xml

Partial Public Class _1
Inherits System.Web.UI.Page
Dim sqlfx As New DBengine

Public writer As XmlWriter




ولی چون از توابع تو در تو استفاده شده
و بازگشتی هم داره
موقع اجرا ارور زیر رو میده

75133
مشکلش هم اینه که یوزینگ گلوبال نیست و وقتی تابع دوم فراخوانده میشه
دیگه نمیتونه با فایل xml کار کنه
وقتی هم چندتا using میذارم میگه فایل قبلا باز شده

این کد رو هم تو دکمم نوشتم تا توابع صدا زده بشه


CreateMenu()


Response.Redirect("~/")




موندم چیکار کنم؟
کسی میتونه کمک کنه؟