1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- unit DbTreeDm;
- interface
- uses
- SysUtils, Classes, sdDB, sdProvider, DB, ADODB, sdIDTree;
- type
- TDbTreeData = class(TDataModule)
- acDbTree: TADOConnection;
- sdpDbTree: TsdADOProvider;
- sddDbTree: TsdDataSet;
- sdvDbTree: TsdDataView;
- private
- FDbTree: TsdIDTree;
- procedure LoadDbTree;
- procedure OpenDbTree(const AFileName, ATableName: string);
- public
- constructor Create(const AFileName, ATableName: string);
- property DbTree: TsdIDTree read FDbTree;
- end;
- implementation
- uses
- Connections;
- {$R *.dfm}
- { TDbTreeData }
- constructor TDbTreeData.Create(const AFileName, ATableName: string);
- begin
- inherited Create(nil);
- OpenDbTree(AFileName, ATableName);
- LoadDbTree;
- end;
- procedure TDbTreeData.LoadDbTree;
- begin
- FDbTree := TsdIDTree.Create;
- FDbTree.KeyFieldName := 'ID';
- FDbTree.ParentFieldName := 'ParentID';
- FDbTree.NextSiblingFieldName := 'NextSiblingID';
- FDbTree.DataView := sdvDbTree;
- end;
- procedure TDbTreeData.OpenDbTree(const AFileName, ATableName: string);
- begin
- acDbTree.ConnectionString := Format(SAdoConnectStr, [AFileName]);
- acDbTree.Open;
- sdpDbTree.TableName := ATableName;
- sdpDbTree.Connection := acDbTree;
- sddDbTree.Open;
- sdvDbTree.Open;
- end;
- end.
|