Цитата:
Объясните кратко и доступно какие преимущества даст ваш подход.
|
Кратко и доступно я уже объяснил. Попробую подробнее теперь.
Что для тебя было бы удобнее, например, при построении дерева категорий из базы?
1. Следующий код
Код:
procedure TForm1.GetNodeFromDB(Parent: TTreeNode; ID: Integer);
var
RS:_Recordset;
SQLStr:string;
TmpTN:TTreeNode;
TmpStr:string;
TmpInt:integer;
begin
SQLStr:='SELECT ' + CatSystem.CatName + ' FROM ' + CatSystem.Name +
' WHERE ' + CatSystem.ID + '=' + IntToStr(ID);
rs:=ADOCon.Execute(SQLStr);
if RS.RecordCount=1 then
begin
SetLength(CatIDs,Length(CatIDs)+1);
CatIDs[High(catids)]:=ID;
TmpStr:=VarToStr(RS.Fields.Item[CatSystem.CatName].Value) + ' (' + IntToStr(ID) + ')';
tmptn:=tv1.Items.AddChildObject(Parent,TmpStr,Pointer(CatIDs[High(catids)]));
TmpTN.SelectedIndex:=1;
SQLStr:='SELECT ' + CatSystem.ID + ' FROM ' + CatSystem.Name +
' WHERE ' + CatSystem.CatParent + '=' + IntToStr(ID);
rs:=ADOCon.Execute(SQLStr);
if RS.RecordCount>0 then
begin
rs.MoveFirst;
while not RS.EOF do
begin
tmpint:=Integer(RS.Fields.Item[CatSystem.ID].Value);
GetNodeFromDB(TmpTN,TmpInt);
RS.MoveNext;
end;
end;
//tmptn:=TTreeNode.Create();
end;
end;
или
2. Вызов такого метода, функции и процедуры для которого уже написаны?
Код:
ObjectSystem.FeelingTree(tv:ttreeview;RootCat:integer);
Это пример необходимости создания класса для управления системой. Теперь приведу пример, для чего вообще нужна эта система.
Какой базой проще рулить, в которой у тебя 5-100 небольших таблиц (и их количество может меняться в зависимости от потребностей, а права на создание есть не у всех пользователей, придется разруливать назначением прав и тд) или базой где всего 4-5 таблиц на все случаи жизни и создавать/удалять ничего не требуется, только создавать удалять записи в уже созданных таблицах?
Думаю, ответ очевиден.