Android数据库 之 SQLite数据库

更新时间:2024-05-29 15:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Delphi XE5教程 - FireDAC下的Sqlite使用 - 前言 介绍

本文章介绍了FireDAC下的Sqlite使用,转至万一老师的博客.

Delphi XE5 并入了 FireDAC, 第一印象非常好, 恐怕 dbExpress 等等都要靠边站了.

让我最高兴地是 FireDAC 对 Sqlite 的支持! 优秀的 Sqlite 早就有很多 Delphi 的包装

(http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers, 从 https://code.google.com/等还能搜到更多).

有静态引用 obj 的, 有动态链接 dll 的, 还有把 dll 嵌入资源文件的, 甚至还有重写的(刚刚见过一套用 C# 重写的源码).

Delphi 官方首次引入 Sqlite, 应该是在 XE3(提供了 System.Sqlite 单元), 这好像只是为了支持 DBX, 也需要 Sqlite.dll 支持.

现在好了, 有了 FireDAC, 有了 FireDAC 对 Sqlite 更完善的支持(它没有使用

System.Sqlite.pas), 特别需要说明的是, 在 Windwos 平台下默认使用了 sqlite3_x86.obj 或 sqlite3_x64.obj(FireDAC.Phys.SQLiteCli.pas), 而非 dll, 再加上 Sqlite 本来就不需要其他部署, 太方便了.

从此, 不管是写本地程序、移动程序(Sqlite 是 Andriod 的系统数据库)、网络程序我都将使

用 Sqlite, 恐怕在需要内存表、ini 文件、甚至是定义某种文件格式时, 我都会想到它. 所以, 一定要把它学精学透!

估计学完它至少会记下 20 篇博客, 如果你也想和我一起学习, 快安装 XE6 吧(XE5 我没装过, lsuper 搞的 Embarcadero.Delphi.XE6.Lite.v9.x 应该更方便安装, 这里一并谢过!).

希望尽快学完这个, 接下来还要学学 Intraweb(它应该是成熟了)和移动开发, 说到移动开发向大家求助下 \升级 Andriod 系统的方法\我几年前购买的 三星 GALAXY 大平板手机(港行), 系统是 Andriod 2.1, 刚好够不着; 谁弄过, 拜托教我下; 如果有不升级也能用于测试的方法则更好.

安装 XE6 后, 先用 FireDAC Explorer 浏览下官方提供的 FDDemo.sdb 吧(实际路径: C:\\Users\\Public\\Documents\\Embarcadero\\Studio\\14.0\\Samples\\data\\FDDemo.sdb):

Delphi XE5教程 - FireDAC下的Sqlite使用 - 第一个例子

介绍

本文章介绍了FireDAC下的Sqlite使用 - 第一个例子,转至万一老师的博客.

为了方便测试, 我把官方提供的

C:\\Users\\Public\\Documents\\Embarcadero\\Studio\\14.0\\Samples\\data\\FDDemo.sdb 复制了一份到C:\\Temp\\FDDemo.sdb.

{新建一个 VCL Forms Application, 然后添加如下控件(建议按 Ctrl + . 后用键盘输入添加):}TFDPhysSQLiteDriverL动自动连接; 不同数据库各对应一个: TFDPhys****DriverLinkTFDGUIxWaitCursor // 用于自动管理 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.dfwlt.com/forum.php?mod=viewthread&tid=928 谢谢!

Delphi XE5教程 - FireDAC下的Sqlite使用 - 获取数据库的基本信息

介绍

本文章介绍了FireDAC下的Sqlite使用 - 获取数据库的基本信息,转至万一老师的博客。

在空白窗体上添加: TFDConnection, TFDPhysSQLiteDriverLink, TFDGUIxWaitCursor, TMemo

1. procedure TForm1.FormCreate(Sender: TObject); 2. var

3. List: TStrings; 4. V: Variant; 5. begin

6. FDConnection1.Open('DriverID=SQLite; Database=C:\\Temp\\FDDemo.sdb'); 7.

8. List := TStringList.Create; 9.

10. FDConnection1.GetInfoReport(List); 11. Memo1.Clear;

12. Memo1.Lines.Add('==> 获取连接信息:'); 13. Memo1.Lines.AddStrings(List); 14.

15. FDConnection1.GetTableNames('', '', '', List); 16. Memo1.Lines.Add(#13#10'==> 获取数据库中的表名列表:'); 17. Memo1.Lines.AddStrings(List);

本文来源:https://www.bwwdw.com/article/qhy6.html

Top