使用 IntraWeb (42)


为通过 FireDAC(XE5开始支持的) 使用 SqLite, 现在已换成 XE6 + IntraWeb v14.0.32 Ultimate.

首先把官方提供的 C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesdataFDDemo.sdb 复制到程序目录下, 用于测试.

在空白窗体上添加控件:
FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;
FDConnection1: TFDConnection;
DataSource1: TDataSource;
FDTable1: TFDTable;
IWDBGrid1: TIWDBGrid;


在 OnCreate 事件中写代码:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  FDTable1.Connection := FDConnection1;
  DataSource1.DataSet := FDTable1;
  IWDBGrid1.DataSource := DataSource1;

  FDConnection1.DriverName := 'SQLite';
  FDConnection1.Params.Add('Database=FDDemo.sdb'); //如果测试数据在其他目录, 如: Database=C:TempFDDemo.sdb; 但要真放到网络上恐怕有权限限制

  FDTable1.TableName := 'Orders'; //Orders 是 FDDemo.sdb 中的一个表
  FDTable1.Active := True;

  IWDBGrid1.Align := alClient;
end;


效果图:


TFDQuery 代替 TFDTable 重新测试:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  FDQuery1.Connection := FDConnection1;
  DataSource1.DataSet := FDQuery1;
  IWDBGrid1.DataSource := DataSource1;

  FDConnection1.Open('DriverID=SQLite;Database=FDDemo.sdb');
  FDQuery1.Open('SELECT * FROM Orders');

  IWDBGrid1.Align := alClient;
end;


原文地址:https://www.cnblogs.com/del/p/3813107.html