![]() |
| ||
|
|
Новости |
Поиск |
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;
alll_23 (2007-10-19 12:02:00) [21]Desdechado вам ответ причём тут параметры если то параметром запрос не правильно сформирован ну конечно то что вы говорите правильно
Маша Шрайбер (2007-10-19 11:59:00) [22]И ещё.
Так нельзя if Node.Parent=nil then потому, что и у рутовых узлов всегда есть родитель!
Desdechado (2007-10-19 11:58:00) [23]> теперь id, parentid у меня всегда равны
значит, ты в Node.Data и Node.Parent.Data записываеешь одно и то же
VALUES('+IntToStr(Integer(Node.Data))+','+ IntToStr(Integer(Node.Parent.Data))+','+QuotedStr(Node.Caption)+');
Не делай так, используй параметры при работе с БД.
alll_23 (2007-10-19 11:56:00) [24]Я не знаю пока что не до конца разабрался с TreeNode и думал что этого достаточно Node:=TreeView.Items.Item[i]; и думал что теперь с Data будет всё нормально.
Маша Шрайбер (2007-10-19 11:53:00) [25]Построение дерева где?