Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
strongful
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 5
1

Добавление в TreeNode из базы данных

13.01.2016, 14:47. Просмотров 264. Ответов 2
Метки нет (Все метки)

Добрый день.
Так как это самый продвинутый форум прошу помочь в таком вопросе над которым сижу 2 недели.
Есть база данных SQL где есть таблица из которой нужно выбрать определенное поле и вставить в TreeNode. Но так что бы каждая запись была как отдельный обьект то есть родительский поскольку потом к этому обьект будет добавлена другая информация как дочерняя. Потом этот метод будет вызван в другой форме как:

C#
1
tv_Model.Nodes.Add(dal.GetAllShops1());

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public TreeNode GetAllShops1()
        {
 
            TreeNode tn = new TreeNode();
            
            string query1 = string.Format("SELECT  COUNT(*)  FROM Shops ");
            string query2 = string.Format("SELECT NameOfShop FROM Shops");
            using (SqlConnection con = new SqlConnection(connection))
            {
                SqlCommand com1 = new SqlCommand(query1, con);
                SqlCommand com2 = new SqlCommand(query2, con);
 
                try
                {
                
                     con.Open();
                    int result = (int)com1.ExecuteScalar();
                    
                    SqlDataReader dr = com2.ExecuteReader();
 
 
                    while (dr.Read())
                    {
                        for (int i = 0; i < result; i++)
                        {
                            string name = dr["NameOfShop"].ToString();
                            tn = new TreeNode(name);
                       
                        }
                    }
        
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
               
            }
            return tn;
        }
Буду очень признателен за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2016, 14:47
Ответы с готовыми решениями:

добавление базы данных acces на форму
добрый вечер.возникла такая проблема,при попытки добавления бызы данных на...

TreeNode
Имеется несколько элементов TreeNode. Как получит эти элементы(Корни)? Пробовал...

Недоразумение с TreeNode
Такая проблема, мне нужно сделать так, что когда пользователь выбирает в...

Удалить Treenode по условию
Добрый день! Задача: удалить все &quot;пустые&quot; папки в treeview То есть, если в...

Thread TreeNode Expand()
Как распахнуть обновлённое дерево с базы по соответствующим узлам(все действия...

2
kontuPauk
301 / 299 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
13.01.2016, 14:58 2
Как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public TreeNode GetAllShops1()
        {
 
            TreeNode rootNode = new TreeNode("Все магазины");
 
            
            string query1 = string.Format("SELECT  COUNT(*)  FROM Shops ");
            string query2 = string.Format("SELECT NameOfShop FROM Shops");
            using (SqlConnection con = new SqlConnection(connection))
            {
                SqlCommand com1 = new SqlCommand(query1, con);
                SqlCommand com2 = new SqlCommand(query2, con);
 
                try
                {
                
                     con.Open();
                    int result = (int)com1.ExecuteScalar();
                   rootNode.Text = rootNode.Text + " (" + result.ToString() + ")";
 
                    SqlDataReader dr = com2.ExecuteReader();
 
 
                    while (dr.Read())
                    {
                        TreeNode node = new TreeNode((string)dr["nameOfShop"]); // Или как там Ваше поле называется...
                        node.Tag = (int)dr["id"]; // или любое поле, по которому Вы будете привязывать дочерние элементы.
 
                        rootNode.Nodes.Add(node);
                    }
        
                    // не забывайте
                    dr.Close();
                    con.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
               
            }
            return rootNode;
        }
Вернется Вам дерево с одним корневым элементом с указанием количества дочерних (магазинов). При выборе магазина его можно легко вычислить с помощью свойства выбранного узла Tag. Оно хранит object - не забудьте о приведении типов.
0
strongful
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 5
13.01.2016, 16:13  [ТС] 3
Супер спасибо большое.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2016, 16:13

Экспорт с TreeNode в TextBox
Как можно экспортировать данные из TreeNode'а в TextBox? textBox1.Text +=...

Переименование TreeNode даблкликом
Есть TreeView, в который button1 добавляет ноды. Надо сделать так, чтобы по...

Перемещение узла TreeNode
Доброго времени суток уважаемые форумчане! В проекте есть дерево TreeView....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru