delphi FireDAC 下的 Sqlite [2] - 第一个例子


本文整理自网络,侵删。

 
为了方便测试, 我把官方提供的 C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\data\FDDemo.sdb 复制了一份到 C:\Temp\FDDemo.sdb.

{新建一个 VCL Forms Application, 然后添加如下控件(建议按 Ctrl + . 后用键盘输入添加):}

TFDPhysSQLiteDriverLink // 用于驱动自动连接; 不同数据库各对应一个: TFDPhys****DriverLink
TFDGUIxWaitCursor       // 用于自动管理 GUI 程序的"等待光标"; 在 Console 和 FMX 下也都有类似对应的东西
TFDConnection           // 数据连接
TFDQuery                // 数据查询
TDataSource             // 数据源
TDBGrid                 // 数据显示

// uses FireDAC.Phys.SQLite 之后, 可不用添加 TFDPhysSQLiteDriverLink
// uses FireDAC.VCLUI.Wait  之后, 可不用添加 TFDGUIxWaitCursor


{简单几行代码, 就呈现了 FDDemo.sdb 中的 Orders 表中的数据}
procedure TForm1.FormCreate(Sender: TObject);
begin
  FDConnection1.DriverName := 'SQLite';
  FDConnection1.Params.Add('Database=C:\Temp\FDDemo.sdb');

  FDQuery1.Connection := FDConnection1;
  DataSource1.DataSet := FDQuery1;
  DBGrid1.DataSource := DataSource1;

  FDQuery1.SQL.Text := 'SELECT * FROM Orders'; // SQLite 非常好地支持了 SQL92 标准, 目前被忽略的仅有: http://www.sqlite.org/omitted.html 

  FDConnection1.Open();
  FDQuery1.Open();

  DBGrid1.Align := alClient;
end;

效果图:
{稍稍变通一下代码}
procedure TForm1.FormCreate(Sender: TObject);
begin
//  FDConnection1.ConnectionString := 'DriverID=SQLite; Database=C:\Temp\FDDemo.sdb'; // 可代替下面两行
  FDConnection1.Params.Add('DriverID=SQLite');            // 同 FDConnection1.DriverName := 'SQLite';
  FDConnection1.Params.Add('Database=C:\Temp\FDDemo.sdb');

  FDQuery1.Connection := FDConnection1;
  DataSource1.DataSet := FDQuery1;
  DBGrid1.DataSource := DataSource1;

  FDQuery1.SQL.Text := 'SELECT * FROM Orders';

  FDConnection1.Connected := True;
  FDQuery1.Active := True;

  DBGrid1.Align := alClient;
end;

{再变通一下}
procedure TForm1.FormCreate(Sender: TObject);
begin
  FDQuery1.Connection := FDConnection1;
  DataSource1.DataSet := FDQuery1;
  DBGrid1.DataSource := DataSource1;

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

  DBGrid1.Align := alClient;
end;

相关阅读 >>

Delphi控制word添加多行文字

Delphi 设置本地系统时间

Delphi 判断时间是否合法 -isvaliddatetime、isvaliddate、isvalidtime、isvaliddateday

Delphi 操作“任务栏”

Delphi代码中嵌入汇编asm代码

Delphi动态设置spcomm的属性值

Delphi xe 关闭android应用

Delphi实现屏幕截图、窗口截图、指定区域截图

Delphi xe8 tstylebook的使用

Delphi 跳出循环的几种方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...