// uses FireDAC.Phys.SQLite 之后, 可不用添加 TFDPhysSQLiteDriverLink //访问SQLite 文件数据库
procedure TMainForm.UniEdit1KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin FDQuery1.ExecSQL('INSERT INTO ToDoListTable VALUES( (select max(id)+1 from ToDoListTable),'''+uniEdit1.Text+''',0)'); FDQuery1.Open('select isDone ,aName ,id from ToDoListTable'); FDQuery1.Last;//定位 最后一行 新记录 end; end;
在uniGUI,每个TFDConnection组件必须放在 MainModule或者 由uniGUI Wizard创建的DataModule里。TFDConnection也可创建和销毁公众 datamodule ,作为 TUniForm(因为他们对Session同样是私有的)的constructor 和destructor 。这将确保每个Session将有它自己私有的TFDConnection组件。
另外,要放一个TFDManager组件在ServerModule ,在ServerModule的OnCreate 事件里,设置它的Active 属性为True,。
其他要放在ServerModule 里的组件有: TFDGUIxWaitCursor 和TFDPhysXXXDriverLink。TFDPhysXXXDriverLink是根据你的数据库类型来的,例如,MySQL就应该为TFDPhysMySQLDriverLink。将TFDGUIxWaitCursor的Provider 设置为Console ,同时 ScreenCursor 设置为gcrNone.。
FDManager1的OnCreate 事件里, FDManager1.Active 应该设置为True.
procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObject); begin . . FDManager1.Active := True; end;
类似地,FDManager1的OnDestroy 事件,FDManager1.Close 应被调用。
procedure TUniServerModule.UniGUIServerModuleDestroy(Sender: TObject); begin . . . FDManager1.Close; end;
连接池
FireDAC 的一个高级特色,就是它支持连接池。它允许在多个会话里,共用同一个数据库连接.