Следующая статья: Получение элемента даты.
Решение 1
Любой компонент можно создать и без (вне) формы или любого другого дочернего компонента. Для этого в методе Create надо указать параметр nil:
FSession:=TSession.Create(nil); FDatabase:=TDatabase.Create(nil); FSession.SessionName :='DBSession' FDatabase.Connected:=False; FDatabase.AliasName:=Database; FDatabase.DatabaseName:=USER_DATABASE; FDatabase.SessionName:=FSession.SessionName; FUserTBL:=TTable.Create(nil); FUserTBL.DatabaseName:=FDatabase.DatabaseName; FUserTBL.SessionName:=FSession.SessionName; FUserTBL.TableName:=USERTBL; FUserTBL.IndexName:=USERSpIndex; FUserSource:=TDataSource.Create(nil); FUserSource.DataSet:=FUserTBL;
Решение 2
Можно использовать TTable, не размещая компонент на форме:
function TForm1.TotalPopulation: double; var Tbl: TTable; begin Result:=0.0; Tbl:=TTable.Create(nil); try Tbl.DatabaseName :='DBDEMOS'; Tbl.TableName :='COUNTRY'; Tbl.Open; Tbl.First; while not Tbl.EOF do begin Result:=Result+Tbl.FieldByName('Population').AsFloat; Tbl.Next; end; Tbl.Close; finally Tbl.Free; end; end;