Код C# для извлечения иерархических данных из таблицы
Привет, я пытаюсь написать код для извлечения данных из таблицы, ссылающихся друг на друга от родителя к потомку (как иерархия)
Предположим, я хочу получить данные ParentId "3", тогда он вернет ChildId "4".
Теперь здесь снова будет запущен цикл для получения ChildId, где ParentId равен "4" , и вернет ChildId "5" и так далее
Конечный результат будет отображаться следующим образом:
3 - 4
4 - 5
5 - ноль
Заранее спасибо за решение моей проблемы.
С уважением
Что я уже пробовал:
create table [dbo].[Table1](ParentId int primary key, ChildId int) insert into Table1 values (1, 2) insert into Table1 values (2, 3) insert into Table1 values (3, 4) insert into Table1 values (4, 5) insert into Table1 values (5, NULL)
табличные данные:
Атрибутом parentId ChildId
1 2
2 3
3 4
4 5
5 НУЛЕВОЙ
String Cid = "1"; //The parent id from where the loop will start nCon.Open(); SqlCommand gCmd = new SqlCommand("SELECT ParentId, ChildId FROM Table1 WHERE ParentId = @Childid", nCon); gCmd.Parameters.AddWithValue("@Childid", Cid); SqlDataAdapter ds = new SqlDataAdapter(gCmd); DataTable Dt = new DataTable(); ds.Fill(Dt); for (int i = 0; i < Dt.Rows.Count; i++) { Response.Write(Dt.Rows[i]["ParentId"].ToString() + Dt.Rows[i]["ChildId"].ToString()); Cid = Dt.Rows[i]["ChildId"].ToString(); }
F-ES Sitecore
Вам, вероятно, нужно присоединиться к таблице 1 Сама по себе
выбрать поля из table1 п присоединяйтесь к таблице table1 с на C.ChildId = стр. Атрибутом parentId
что-то вроде того
CHill60
Посмотрите на этот пример в моей статье Циклы обработки в SQL Server - обход иерархии[^]