Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2012, 17:32   #1
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию внесение данных из базы в treeview

Здравствуйте! Есть в базе 2 таблицы. в первой ID и имя поля. во второй - id, Имя, и id первой таблицы. Цель - добавить в treeview данные из обеих таблиц, вложения должны быть организованы так - значение из первой таблицы и в нем все , которые имеют id как из первой таблицы
код:
Код:
var
nnod,nnor: TTreeNode;
field: string;
b,n,b1,n1: integer;
begin
b:=0;
n:=0;
b1:=0;
n1:=0;
TreeView1.Items.BeginUpdate;
TreeView1.SortType:=stNone;
TreeView1.Items.Clear;
DataModule2.k1.First;

if DataModule2.k1.RecordCount>0 then
begin
   while not DataModule2.k1.Eof do
      begin
       b:=DataModule2.k1['id_kateg']   ;
         n:=DataModule2.k1['Kateg_name']  ;
      nnod:=TreeView1.Items.Add(nil, DataModule2.k1['Kateg_name'] );
      field:=DataModule2.k1.Fields[0].AsString;

          if DataModule2.pk1.RecordCount>0 then
             begin

             DataModule2.pk1.First;
             while not DataModule2.pk1.Eof do
                begin
                    b1:=DataModule2.pk1['id_kateg']   ;
         n1:=DataModule2.pk1['Podkateg_1_name']  ;
         if b=b1 then
                    begin
                nnor:=TreeView1.Items.AddChild(nnod,DataModule2.pk1['Podkateg_1_name'] );
                DataModule2.pk1.Next;
end;

                end;
             end;
DataModule2.k1.Next;
end;
end;
DataModule2.k1.Filter:='';
DataModule2.pk1.Filter:='';
TreeView1.Items.EndUpdate;
Проблема такова на условии
Код:
 if b=b1 then
                    begin
программа зависает напрочь. Если удалить условие - все нормально , кроме одного - в каждой категории выводятся все значения из таблицы 2, помогите поправить ошибку, заранее спасибо!
chircov090993 вне форума Ответить с цитированием
Старый 21.02.2012, 00:55   #2
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

Код:
if b=b1 then
begin
   nnor:=TreeView1.Items.AddChild(nnod,DataModule2.pk1['Podkateg_1_name'] );
   DataModule2.pk1.Next;
end;
меняйте на
Код:
if b=b1 then
begin
   nnor:=TreeView1.Items.AddChild(nnod,DataModule2.pk1['Podkateg_1_name'] );
end;
   DataModule2.pk1.Next;
GoodDA вне форума Ответить с цитированием
Старый 21.02.2012, 05:50   #3
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию

спасибо, помогло)
chircov090993 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
внесение данных в комбобокс mojohead Помощь студентам 0 30.05.2011 23:18
Внесение данных по порядку Dog_DinGo Microsoft Office Excel 2 25.03.2011 20:03
Внесение данных в БД limon PHP 4 26.11.2008 17:00
Как работать с TreeView и таблицей базы данных? Ксюша Помощь студентам 2 24.05.2007 09:02
Сохранение и загрузка узлов TreeView из базы данных Ko$tello Компоненты Delphi 1 14.11.2006 17:15