使用 IntraWeb (43) - 测试读取 SqLite (二)    


一般情况下, 数据源相关控件应该有数据模块中统一管理, 这也方便其他窗体调用; UserSessionUnit 就是一个现成的数据模块.



现在把数据源相关控件放在 UserSessionUnit 的窗体上:


FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;
FDConnection1: TFDConnection;
DataSource1: TDataSource;
FDTable1: TFDTable;


并在其 OnCreate 事件中写代码:


procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
begin
  FDTable1.Connection := FDConnection1;
  DataSource1.DataSet := FDTable1;

  FDConnection1.DriverName := 'SQLite';
  FDConnection1.Params.Add('Database=FDDemo.sdb');

  FDTable1.TableName := 'Orders';
  FDTable1.Active := True;
end;


主窗体上只留了 IWDBGrid1: TIWDBGrid, 其代码更简单了:


uses ServerController; {为使用 UserSession}

procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWDBGrid1.DataSource := UserSession.DataSource1;
  IWDBGrid1.Align := alClient;
end;


效果图:
使用 IntraWeb (43) - 测试读取 SqLite (二)_SqLite