![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TTreeNode [D7, XP]
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) и будет всё нормально, я просто в кафе сижу и немогу паралельно пробовать