powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TreeView и БД
5 сообщений из 5, страница 1 из 1
TreeView и БД
    #34235893
slider3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет всем
Например у меня есть база
-Страна
-Регион
-Город
-Улица
-.........
-абонент
Как вывести структуру базы даных например через TreeView
К-во узлов неизвестно
...
Рейтинг: 0 / 0
TreeView и БД
    #34268328
Dick Johnson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно например так - используя Do Until rs.EOF:
Код: plaintext
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.
44.
45.
Sub FillTw()
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Dim rs4 As New ADODB.Recordset
Dim strSql As String
Dim ND As Node
Dim cnMain As New ADODB.Connection
.
.
.

    tw.Nodes.Clear
    'Страны -------------------------------------------------
    strSql = "select * from Countries"
    rs1.Open strSql, cnMain, adOpenStatic, adLockReadOnly
    Do Until rs1.EOF
        Set ND = tw.Nodes.Add(, tvwNext, "Cn" & rs1!ID, rs1!Name)
        'Регионы -------------------------------------------------------------------------------
        strSql = "select * from Regions where CountryID=" & rs1!ID
        rs2.Open strSql, cnMain, adOpenStatic, adLockReadOnly
        Do Until rs2.EOF
            Set ND = tw.Nodes.Add("Cn" & rs1!ID, tvwChild, "Rn" & rs2!ID, rs2!Name)
            'Города------------------------------------------------------------------------------------------------------------------
            strSql = "select * from Cities where RegionID=" & rs2!ID
            rs3.Open strSql, cnMain, adOpenStatic, adLockReadOnly
            Do Until rs3.EOF
                Set ND = tw.Nodes.Add("Rn" & rs2!ID, tvwChild, "Ct" & rs3!ID, rs3!Name)
                'Улицы -----------------------------------------------------------------------------------------------------------------
                strSql = "select * from Streets where CityID=" & rs3!ID 
                rs4.Open strSql, cnMain, adOpenStatic, adLockReadOnly
                Do Until rs4.EOF
                    Set ND = tw.Nodes.Add("Ct" & rs3!ID, tvwChild, "St" & rs4!ID, rs4!Name)
                    rs4.MoveNext
                Loop
                rs4.Close
                rs3.MoveNext
            Loop
            rs3.Close
            rs2.MoveNext
        Loop
        rs2.Close
        rs1.MoveNext
    Loop
    rs1.Close
End Sub
...
Рейтинг: 0 / 0
TreeView и БД
    #34268461
Rustygold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dick JohnsonМожно например так - используя Do Until rs.EOF:
...
:?

один select с join'ами
один Do...Loop

slider3d
либо:
heirarchical select через shape-append
и в grid
...
Рейтинг: 0 / 0
TreeView и БД
    #34268655
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Грузить таблицы в дерево начиная со "Страна"
для низлежащих уровней проставлять код родителя


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
TreeView и БД
    #34268803
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имейте в виду что такая загрузка, при больших объемах данных, будет происходить довольно долго.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TreeView и БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]