kazemsoft
دوشنبه 24 خرداد 1389, 18:58 عصر
سلام خسته نباشید.
یک سوال خیلی ساده و پیش افتاده، (پیش پا افتاده از این جهت چون من خیلی مبتدی هستم هر کاری میکنم براش راه حلی پیدا نمی کنم):
مشکل از اینجاست که من می خوام یک treeview داشته باشم که اطلاعات tree رو (ندهاشو) از توی بانک اطلاعاتی بخونه. خوب تا اینجاشو براش کد نوشتم. حالا می خوام تو فاز بعدی یک کار دیگه بکنم و از بانک اطلاعاتی بخوام هر رکوردی در بانک اطلاعاتی که در فیلد parent شان چیز دیگری است لیست کند. مشکل اینجاست که من هر وقت sqlcommand دومی رو فرا می خونم همون نتایج قبلی رو بر میگردونه برام در صورتیکه dataset رو clear هم میکنم
کدی که برای این قسمت بکار می برم اینه:
Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\usersdb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
con.Open()
Dim da As New SqlDataAdapter("SELECT * FROM groups WHERE parent = ''", con)
Dim ds As New DataSet()
da.Fill(ds, "groups")
groupTable = ds.Tables("groups")
For treeindex As Integer = 1 To groupTable.Rows.Count
TreeView1.Nodes.Add(groupTable.Rows((treeindex - 1))("name"))
Next
con.Close()
Dim cmd As New SqlCommand
cmd.CommandText = "SELECT name FROM groups WHERE parent = 'p'"
cmd.Connection = con
con.Open()
cmd.ExecuteNonQuery()
ds.Clear()
da.Fill(ds, "gr")
Dim newTable As DataTable = ds.Tables("gr")
MsgBox(newTable.Rows(0).Item("name"))
MsgBox(newTable.Rows(1).Item("name"))
MsgBox(newTable.Rows(2).Item("name"))
con.Close()
البته یک راه حلی سر پایی براش پیدا کردم و اون اینکه دوباره از نو شی های sqldataadapter و dataset جدید برای مرحله دوم بوجود بیاورم اما میدونم خیلی خیلی احمقانه است اینکار.
ممنون میشم منو راهنمایی کنید، دارم دیوونه میشم :عصبانی++:
یک سوال خیلی ساده و پیش افتاده، (پیش پا افتاده از این جهت چون من خیلی مبتدی هستم هر کاری میکنم براش راه حلی پیدا نمی کنم):
مشکل از اینجاست که من می خوام یک treeview داشته باشم که اطلاعات tree رو (ندهاشو) از توی بانک اطلاعاتی بخونه. خوب تا اینجاشو براش کد نوشتم. حالا می خوام تو فاز بعدی یک کار دیگه بکنم و از بانک اطلاعاتی بخوام هر رکوردی در بانک اطلاعاتی که در فیلد parent شان چیز دیگری است لیست کند. مشکل اینجاست که من هر وقت sqlcommand دومی رو فرا می خونم همون نتایج قبلی رو بر میگردونه برام در صورتیکه dataset رو clear هم میکنم
کدی که برای این قسمت بکار می برم اینه:
Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\usersdb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
con.Open()
Dim da As New SqlDataAdapter("SELECT * FROM groups WHERE parent = ''", con)
Dim ds As New DataSet()
da.Fill(ds, "groups")
groupTable = ds.Tables("groups")
For treeindex As Integer = 1 To groupTable.Rows.Count
TreeView1.Nodes.Add(groupTable.Rows((treeindex - 1))("name"))
Next
con.Close()
Dim cmd As New SqlCommand
cmd.CommandText = "SELECT name FROM groups WHERE parent = 'p'"
cmd.Connection = con
con.Open()
cmd.ExecuteNonQuery()
ds.Clear()
da.Fill(ds, "gr")
Dim newTable As DataTable = ds.Tables("gr")
MsgBox(newTable.Rows(0).Item("name"))
MsgBox(newTable.Rows(1).Item("name"))
MsgBox(newTable.Rows(2).Item("name"))
con.Close()
البته یک راه حلی سر پایی براش پیدا کردم و اون اینکه دوباره از نو شی های sqldataadapter و dataset جدید برای مرحله دوم بوجود بیاورم اما میدونم خیلی خیلی احمقانه است اینکار.
ممنون میشم منو راهنمایی کنید، دارم دیوونه میشم :عصبانی++: