文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 344
阅读 20
收藏 0

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


本文转载自:http://www.cnblogs.com/del/p/3737970.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
SQLite3.8.4.2在Windows平台下的编译和使用

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database......

Micooz
2014/03/30
0
0
SQLite之C++增删改查(详解)

很高兴加入开源中国社区,开源可以让我们成长更快、更强大,如果每个人都能多多交流。。。我们的未来必将不可限量!毫无疑问,这并不夸张,但是现在我还是从一个菜鸟级程序员开始入门吧! 进...

╰☆╮絠ㄚòひ才倖❤福`
2012/08/23
0
1
转义字符导致sqlite迁移至mysql少了15w数据

Sqlite迁移至mysql 一、 准备工作 相关sqlite语句 进入sqlite数据库,如数据库名为mobi.db [root@localhost ~]# sqlite3 mobi.db SQLite version 3.6.23.1 Enter ".help" for instructions ......

qwjhq
06/26
0
0
ODB(C++ ORM)用Mingw的完整编译过程

用mingw官方的GCC4.7.2编译libodb后,并用odb compiler对hello示例生成odb的"包裹"代码,编译链接总是不能通过,下面是编译example/hello报错的信息如下: libodb-sqlite-2.3.0/odb/sqlite -o d...

棋有此理
2013/12/14
0
0
【防衰老教程】-windows环境下安装SQLite

什么是 SQLite? SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。...

Weijue
05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nignx的部署安装和反向代理

3、安装Nginx #yum update 更新一些库和必要的支持,完了之后去下载一个nginx的最新版,如今我责编的版本是1.7.7: #wget http://nginx.org/download/nginx-1.13.6.tar.gz 解压缩 #tar -zvxf n...

wangxujun59
22分钟前
2
0
将博客搬至CSDN

搬家

JackChenzp
26分钟前
2
0
lamba表达式

Java 8 lambda表达式示例 我个人对Java 8发布非常激动,尤其是lambda表达式和流API。越来越多的了解它们,我能写出更干净的代码。虽然一开始并不是这样。第一次看到用lambda表达式写出来的J...

os1cheng
28分钟前
2
0
jenkins: Opening Robot Framework log failed

6down vote Answer is explained at Jenkins issue tracking system: https://issues.jenkins-ci.org/browse/JENKINS-32118 For resolve your problem you must : Connect on your jenkins u......

关上越
36分钟前
1
0
CentOS7 ab压力测试安装与解释

原 CentOS7 ab压力测试安装与解释 2017年11月10日 18:43:25 moTzxx 阅读数:4889更多 个人分类: Centos7 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u0...

linjin200
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部