Телефон: +7 (926) 245-03-63

Динамическое создание компонента TTable

Следующая статья: Получение элемента даты.

Решение 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;

Интересное в интернете: картридж hp laserjet