Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизTTreeNode Найти похожие ветки
← →
alll_23 (2007-10-19 11:45) [0]Здравствуйте это снова я со своим назойливым вопросом вот посмотрите пожалуйста, я уже не предлагаю решить вам поставленую мной ранее задачу от начала и до конца, а только подсказать где у меня ошибка(дело в том что теперь 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 11:53) [1]Построение дерева где?
← →
alll_23 (2007-10-19 11:56) [2]Я не знаю пока что не до конца разабрался с TreeNode и думал что этого достаточно Node:=TreeView.Items.Item[i]; и думал что теперь с Data будет всё нормально.
← →
Desdechado © (2007-10-19 11:58) [3]> теперь id, parentid у меня всегда равны
значит, ты в Node.Data и Node.Parent.Data записываеешь одно и то жеVALUES("+IntToStr(Integer(Node.Data))+","+ IntToStr(Integer(Node.Parent.Data))+","+QuotedStr(Node.Caption)+");
Не делай так, используй параметры при работе с БД.
← →
Маша Шрайбер © (2007-10-19 11:59) [4]И ещё.
Так нельзя if Node.Parent=nil then потому, что и у рутовых узлов всегда есть родитель!
← →
alll_23 (2007-10-19 12:02) [5]Desdechado вам ответ причём тут параметры если то параметром запрос не правильно сформирован ну конечно то что вы говорите правильно
← →
alll_23 (2007-10-19 12:05) [6]А как же зделать если нельзя ифом, а то с рекурсией пока не научился я работать, а может сдель так Node.Data=pointer(i) и будет всё нормально, я просто в кафе сижу и немогу паралельно пробовать
← →
Маша Шрайбер © (2007-10-19 12:06) [7]твоя моя непонимай алаверды большой привет спасибо друг я спасена увидимся завтра пока
← →
alll_23 (2007-10-19 12:09) [8]Ни чё не понял из слов Маши может там зашифрован ответ?
← →
Сергей М. © (2007-10-19 12:19) [9]
> Маша Шрайбер © (19.10.07 11:59) [4]
> у рутовых узлов всегда есть родитель
Это по какому же постановлению партии и правительства ?
> alll_23 (19.10.07 12:05) [6]
> с рекурсией пока не научился я работать
А в грид ты уже научился выводить свои деревянные данные ?
← →
Маша Шрайбер © (2007-10-19 12:28) [10]>> Сергей М. © (19.10.07 12:19) [9]
>> Это по какому же постановлению партии и правительства ?
Неужели вы думаете, что я буду запоминать их номера?
← →
Сергей М. © (2007-10-19 12:42) [11]
> Маша Шрайбер © (19.10.07 12:28) [10]
Зачем запоминать ? Мне и ссылочки будет достаточно, чтобы самому ознакомиться)
← →
Маша Шрайбер © (2007-10-19 12:58) [12]>> Сергей М. © (19.10.07 12:42) [11]
>> Зачем запоминать ? Мне и ссылочки будет достаточно, чтобы самому ознакомиться)
Ну как же я дам вам ссылку, если номера не запоминала? :)
А вообще, почему-то возникла ассоциация:
- Небо голубое.
- Это по какому же постановлению партии и правительства ?
- Неужели вы думаете, что я буду запоминать их номера?
- Мне и ссылочки будет достаточно, чтобы самому ознакомиться)
:)))
← →
alll_23 (2007-10-19 13:15) [13]Не в грид научился а в стринг_лист только же они не правильно вводятся (нули там)
← →
Сергей М. © (2007-10-19 13:24) [14]
> Маша Шрайбер © (19.10.07 12:58) [12]
> - Небо голубое
У тебя проблемы со зрением).. И с памятью) .. Впрочем девичья память - притча во языцех
← →
Сергей М. © (2007-10-19 13:25) [15]
> alll_23 (19.10.07 13:15) [13]
>
> они не правильно вводятся (нули там)
Какого же лешего ты полез в БД, если даже в стринг_листе не получил то что ожидал ?)
← →
alll_23 (2007-10-19 13:28) [16]Так пока и не лезу там хочу разобраться, стотрю в StringList и вижу 0-ли
← →
Сергей М. © (2007-10-19 13:30) [17]
> пока и не лезу
Как это "не лезу" ?
А SQL-скрипт зачем, если не лезешь ?
← →
alll_23 (2007-10-19 13:35) [18]Так какая разница если в него попадают нули ноль он ведь везде ноль и в стринггриде в том числе а лезть начну когда не ноль будет
И что вы заладели с этой БД ведь 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:40) [19]
> alll_23 (19.10.07 13:35) [18]
Откуда в Node.Data возьмется значение, отличное от нуля, если ты сам туда это значение не запишешь ?
> TreeView.Expand(True);
А это зачем ?
← →
alll_23 (2007-10-19 13:41) [20]Так я же выже и писал такое Node.Data:=pointer(i) и спрашивал будет оно работать или нет
← →
Сергей М. © (2007-10-19 13:42) [21]
> вы заладели с этой БД
Потому что дальше у тебя запросто могут возникнуть проблемы с занесением дерева в таблицу, ибо ты не учитываешь ни особенностей конкретной СУБД, ни скрипта конкретной БД.
← →
alll_23 (2007-10-19 13:44) [22]Оно кстати заносится без проблем только с со всеми нулями в полях id parentid
← →
Сергей М. © (2007-10-19 13:44) [23]
> выже и писал такое Node.Data:=pointer(i) и спрашивал будет
> оно работать или нет
Безотносительно СУБД - да, "работать" это должно.
← →
alll_23 (2007-10-19 13:48) [24]Ну ладно спасибо всем поеду домой лучше пробовать буду
← →
Маша Шрайбер © (2007-10-19 14:25) [25]>> Сергей М. © (19.10.07 13:24) [14]
>> > Маша Шрайбер © (19.10.07 12:58) [12]
>> > - Небо голубое
>> У тебя проблемы со зрением).. И с памятью) .. Впрочем девичья память - притча во языцех
Возможно, и со зрением и с памятью. Не будете ли тогда любезны напомнить мне этот цвет?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.042 c