为了方便测试, 我把官方提供的 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;

FireDAC 下的 Sqlite [2] - 第一个例子的更多相关文章

  1. FireDAC 下的 Sqlite [10] - 使用 R-Tree 搜索

    R-Tree 主要用于三维空间的搜索, 据说这种搜索算法非常之快, 哪怕百万条记录也是眨眼间的事! SQLite 支持 1-5 维, FireDAC 也提供了 TFDSQLiteRTree 控件以方便 ...

  2. FireDAC 下的 Sqlite [3] - 获取数据库的基本信息

    在空白窗体上添加: TFDConnection, TFDPhysSQLiteDriverLink, TFDGUIxWaitCursor, TMemo procedure TForm1.FormCrea ...

  3. FireDAC 下的 Sqlite [6] - 加密

    主要就是设置 TFDConnection 的两个链接参数: Password, NewPassword, 非常简单. const dbPath = 'C:\Temp\SQLiteTest.sdb'; ...

  4. FireDAC 下的 Sqlite [9] - 关于排序

    SQLite 内部是按二进制排序, 可以支持 ANSI; FrieDAC 通过 TFDSQLiteCollation 支持了 Unicode 排序, 并可通过其 OnCompare 事件自定义排序. ...

  5. FireDAC 下的 Sqlite [1] - 前言

    很长时间没静下心来写博客了, 现在回来, 是 Delphi 不断地进步让我感动.振奋. Delphi XE5 并入了 FireDAC, 第一印象非常好, 恐怕 dbExpress 等等都要靠边站了. ...

  6. FireDAC 下的 Sqlite [4] - 创建数据库

    建立数据库的代码: {建立内存数据库的一般代码:} begin FDConnection1.DriverName := 'SQLite'; //同 FDConnection1.Params.Add(' ...

  7. FireDAC 下的 Sqlite [11] - 关于批量提交 SQL 命令的测试

    可把下面代码直接贴在空白窗体上, 以快速完成窗体设计: object DBGrid1: TDBGrid Left = 0 Top = 0 Width = 265 Height = 338 Align ...

  8. FireDAC 下的 Sqlite [8] - 自定义函数

    Sqlite 本身没有这个功能, FireDAC 通过 TFDSQLiteFunction 增加了该功能; 尽管通过某些 SQL 语句或通过视图也可以达到类似效果, 但函数会更灵活些. 本例先建了一个 ...

  9. FireDAC 下的 Sqlite [5] - 数据的插入、更新、删除

    先在空白窗体上添加: TFDConnection.TFDPhysSQLiteDriverLink.TFDGUIxWaitCursor.TFDQuery.TDataSource.TDBGrid(并在设计 ...

随机推荐

  1. Java SpringMVC框架学习(三)springMVC的执行流程

    具体执行逻辑如下: 浏览器提交请求到中央调度器. 中央调度器将请求转给处理器映射器. 处理器映射器根据请求, 找到请求对应的处理器, 并将其封装为处理器执行链返回给中央调度器. 中央调度器根据处理器执 ...

  2. 公告:关注canvas的同学注意了

    因为我之前把基础大致都帮各位详细讲过了! 什么fill,line,乱七八糟的一堆.都有demo了 所以我最近写起来可能会快很多了!如果有不明白的只能请各位回顾下之前的文章了 毕竟如果按照这个进度写文章 ...

  3. size属性

    size 属性 size 属性规定输入字段的尺寸(以字符计): <form action=""> First name:<br> <input typ ...

  4. oracle用户密码过期!the password has expired

    Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月 ...

  5. 第7月第12天 opengles background

    1. After your app exits its applicationDidEnterBackground: method, it must not make any new OpenGL E ...

  6. 洛谷 P2089 烤鸡

    看了前面大佬的代码,发现这道题的解题思路都大同小异. 首先肯定要定义一个变量累加方案数量,因为方案数量要最先输出,所以所有方案要先储存下来.个人不喜欢太多数组,就只定义一个字符串. 然后我们发现只有1 ...

  7. MySQL5.6主从复制最佳实践

    MySQL5.6     主从复制的配置  环境 操作系统:CentOS-6.6-x86_64 MySQL 版本:mysql-5.6.26.tar.gz 主节点 IP:192.168.31.57    ...

  8. [LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现

    [LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现 原题: There are N children standing in a line. ...

  9. 【C语言】十六进制形式输出应用程序

    1.前言 最近在看到同事写了一款封印病毒的程序,非常有意思!原理大致是将PE文件中的ASCII转换成HEX输出到文本中.这样做的目的是为了保存病毒样本的时候不会被杀毒软件查杀!然而却是delphi写的 ...

  10. 2018 ICPC 沈阳网络赛

    2018 ICPC 沈阳网络赛 Call of Accepted 题目描述:求一个算式的最大值与最小值. solution 按普通算式计算方法做,只不过要同时记住最大值和最小值而已. Convex H ...