Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TTreeNode [D7, XP]


Страницы:   1 2

alll_23 ©   (2007-10-19 11:45:00) 

Здравствуйте это снова я со своим назойливым вопросом вот посмотрите пожалуйста, я уже не предлагаю решить вам поставленую мной ранее задачу от начала и до конца, а только подсказать где у меня ошибка(дело в том что теперь id, parentid у меня всегда равны = 0)

var Node:TTreeNode;
   I:integer;
   SQL:string;
   Script:TStringList;

//------- формируем SQL скрипт
Script:=TStringList.Create;
TreeView.Expand(True); // полностью разворачиваем дерево, если его достраиваем "налету"
for i:=0 to Pred(TreeView.Items.Count) do  // перебираем все элементы
 begin
   Node:=TreeView.Items.Item[i];
   if Node.Parent=nil then
      begin
        // здесь вставляем узел без родителя (ParentID=0 указывает на отсутствие родителя)
        SQL:='INSERT INTO TABLENAME(ID,PARENTID,CAPTION) VALUES('+IntToStr(integer(Node.Data))+',0,'+QuotedStr(Node.Caption)+');';
      end
   else begin
          // а здесь - вставляем с ID родителя
          SQL:='INSERT INTO TABLENAME(ID,PARENTID,CAPTION) VALUES('+IntToStr(Integer(Node.Data))+','+
               IntToStr(Integer(Node.Parent.Data))+','+QuotedStr(Node.Caption)+');';
        end;
   Script.Add(SQL);
 end;


IBTransaction.StartTransaction;
for i:=0 to Pred(Script.Count) do
 begin
   IBQuery.SQL.Text:=Script.Strings[i];
   IBQuery.Execute;
 end;
IBTransaction.Commit;

// освобождаем скрипт
Script.Free;


Маша Шрайбер   (2007-10-19 14:25:00) [1]

>> Сергей М. ©   (19.10.07 13:24) [14]
>> > Маша Шрайбер ©   (19.10.07 12:58) [12]
>> > - Небо голубое
>> У тебя проблемы со зрением).. И с памятью) .. Впрочем девичья память - притча во языцех

Возможно, и со зрением и с памятью. Не будете ли тогда любезны напомнить мне этот цвет?


alll_23   (2007-10-19 13:48:00) [2]

Ну ладно спасибо всем поеду домой лучше пробовать буду


Сергей М.   (2007-10-19 13:44:00) [3]


> выже и писал такое Node.Data:=pointer(i) и спрашивал будет
> оно работать или нет


Безотносительно СУБД - да, "работать" это должно.


alll_23   (2007-10-19 13:44:00) [4]

Оно кстати заносится без проблем только с со всеми нулями в полях id parentid


Сергей М.   (2007-10-19 13:42:00) [5]


> вы заладели с этой БД


Потому что дальше у тебя запросто могут возникнуть проблемы с занесением дерева в таблицу, ибо ты не учитываешь ни особенностей конкретной СУБД, ни скрипта конкретной БД.


alll_23   (2007-10-19 13:41:00) [6]

Так я же выже и писал такое Node.Data:=pointer(i) и спрашивал будет оно работать или нет


Сергей М.   (2007-10-19 13:40:00) [7]


> alll_23   (19.10.07 13:35) [18]


Откуда в Node.Data возьмется значение, отличное от нуля, если ты самтуда это значение не запишешь ?


> TreeView.Expand(True);


А это зачем ?


alll_23   (2007-10-19 13:35:00) [8]

Так какая разница если в него попадают нули ноль он ведь везде ноль и в стринггриде в том числе а лезть начну когда не ноль будет
И что вы заладели с этой БД ведь SQl пока просто строка только с '0'
{IBTransaction.StartTransaction;
for i:=0 to Pred(Script.Count) do
begin
  IBQuery.SQL.Text:=Script.Strings[i];
  IBQuery.Execute;
end;
IBTransaction.Commit;

// освобождаем скрипт
Script.Free;}


Сергей М.   (2007-10-19 13:30:00) [9]


> пока и не лезу


Как это "не лезу" ?
А SQL-скрипт зачем, если не лезешь ?


alll_23   (2007-10-19 13:28:00) [10]

Так пока и не лезу там хочу разобраться, стотрю в StringList и вижу 0-ли


Сергей М.   (2007-10-19 13:25:00) [11]


> alll_23   (19.10.07 13:15) [13]
>
> они не правильно вводятся (нули там)


Какого же лешего ты полез в БД, если даже в стринг_листе не получил то что ожидал ?)


Сергей М.   (2007-10-19 13:24:00) [12]


> Маша Шрайбер ©   (19.10.07 12:58) [12]


> - Небо голубое


У тебя проблемы со зрением).. И с памятью) .. Впрочем девичья память - притча во языцех


alll_23   (2007-10-19 13:15:00) [13]

Не в грид научился а в стринг_лист только же они не правильно вводятся (нули там)


Маша Шрайбер   (2007-10-19 12:58:00) [14]

>> Сергей М. ©   (19.10.07 12:42) [11]
>> Зачем запоминать ?  Мне и ссылочки будет достаточно, чтобы самому ознакомиться)

Ну как же я дам вам ссылку, если номера не запоминала? :)
А вообще, почему-то возникла ассоциация:
- Небо голубое.
- Это по какому же постановлению партии и правительства ?
- Неужели вы думаете, что я буду запоминать их номера?
- Мне и ссылочки будет достаточно, чтобы самому ознакомиться)
:)))


Сергей М.   (2007-10-19 12:42:00) [15]


> Маша Шрайбер ©   (19.10.07 12:28) [10]


Зачем запоминать ?  Мне и ссылочки будет достаточно, чтобы самому ознакомиться)


Маша Шрайбер   (2007-10-19 12:28:00) [16]

>> Сергей М. ©   (19.10.07 12:19) [9]
>> Это по какому же постановлению партии и правительства ?

Неужели вы думаете, что я буду запоминать их номера?


Сергей М.   (2007-10-19 12:19:00) [17]


> Маша Шрайбер ©   (19.10.07 11:59) [4]


> у рутовых узлов всегда есть родитель


Это по какому же постановлению партии и правительства ?


> alll_23   (19.10.07 12:05) [6]



> с рекурсией пока не научился я работать


А в грид ты уже научился выводить свои деревянные данные ?


alll_23   (2007-10-19 12:09:00) [18]

Ни чё не понял из слов Маши может там зашифрован ответ?


Маша Шрайбер   (2007-10-19 12:06:00) [19]

твоя моя непонимай алаверды большой привет спасибо друг я спасена увидимся завтра пока


alll_23   (2007-10-19 12:05:00) [20]

А как же зделать если нельзя ифом, а то с рекурсией пока не научился я работать, а может сдель так Node.Data=pointer(i) и будет всё нормально, я просто в кафе сижу и немогу паралельно пробовать


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо