|
#1
|
|||
|
|||
Проблемы с прогой
Не могу понять что программе не нравится...
Код:
procedure TfmMain.LoadStructure; var CurElement, CurParentID: integer; begin CurElement := 0; //Номер текущего элемента в иерархии with tvStructure, dmStaff do begin Items[0].DeleteChildren; //удаляем все элементы иерархии,кроме корневого repeat //если текущим является корневой элемент... if CurElement = 0 then CurParentID := 0 //...то ID "родителя" = О else begin //... в противном случае ищем в таблице DEPS запись. //соответствующую текущему элементу..- sidsDeps.Locate('DeptFullName', Items[CurElement].Text, []); //.. .и извлекаем идентификатор //"родительского" подразделения CurParentID := sidsDeps.FieldByName('DeptID').AsInteger; end; with sqlqChildDeptsList do begin //Выбираем из таблицы DEPS список //подчиненных подразделений Close; ParamByName('pDeptID').AsInteger:= CurParentID; Open; //Просматриваем этот список ... while not EOF do begin //.. . и добавляем к текущему элементу //иерархии соответствующие подчиненные элементы Items.AddChild(Items[CurElement], FieldByName ('rDeptFullName').AsString); Next; end; end; inc(CurElement); //Увеличиваем номер текущего элемента на 1 until CurElement = (Items.Count - 1); //Повторяем цикл до тех //лор, пока не будет достигнут последний элемент иерархии Items.Item[0].Expand(True); //разворачиваем корневой элемент end; end; Она пишет sqlqChildDeptsList: Parametr 'pDeptID' not found. подскажите пожалуйста что может быть не так и как это исправить.... Последний раз редактировалось Admin, 15.01.2010 в 10:27. |