DISQLite基本用法

  SQLite数据库是一款轻量级数据库,而DISQLite则是针对于delphi的自管理,嵌入式和零配置的基于SQLite的SQL数据库引擎,它的特点及相关说明在http://www.yunqa.de/delphi/doku.php/products/sqlite3/index。

  它的用法有三层:The Native Api, The Object Layer, The DataSet Layer。其中,The Native Api是最直接调用数据库引擎的方式,要引用The Native Api,你需要添加pas单元如下:

uses
  DISQLite3API

这层调用代码最少,调用最快,适合于对时序要求严格的应用,当然相对于其它两层,相对来说有点难用。

要采用The Object Layer,则需要引用DISQLite3Database.pas单元。它相当于在The Native Api外边包了一层,提供两个类来操作数据库:TDISQLite3Database和TDISQLite3Statement。TDISQLite3Database它封装了一个DISQLite的句柄,并提供创建,打开和关闭数据库的功能,同时可以执行SQL语句生成一个Statement。TDISQLite3Statement提供绑定数据,执行语句和读取数据。通常被用来给数据库写入或读取数据,有点像数据库的游标。

  T DataSetLayer这层没用过,暂时不写了。

  由于刚开始学DISQLite,采用的是The Object Layer,相对来说容易一些,下面就简单介绍一下它的用法:

1)创建数据库

var
  oDatabase: TDISQLite3Database;
begin
  oDatabase := TDISQLite3Database.Create(nil);
  oDatabase.DatabaseName := 'Test.db3';
  oDatabase.CreateDatabase;
  oDatabase.Open;
  oDatabase.Close;
 end;
2)打开数据库

oDatabase := TDISQLite3Database.Create(nil);
oDatabase.DatabaseName := 'Test.db3';
oDatabase.Open;
3)执行SQL语句

strSQL := 'Create Table Test(ID Integer Not null Primary key, Name Text)';
oDatabase.Execute16(strSQL);
4)读取数据

var
  oStmt: TDISQLite3Statement;
  nID: Integer;
  strSQL, strName: string;
begin
   strSQL := 'Select * From Test';
   oStmt := FDataBase.Prepare16(strSQL);
   try
     //SQLITE_ROW表示后面还有数据行,没用时返回SQLITE_DONE
     //需引用DISQLite3Api
     while oStmt.Step = SQLITE_ROW do
     begin
      nID := oStmt.Column_Int(0); //列序号从0开始
      strName := oStmt.Column_Str16(1); //返回值是UnicodeString
//      strName := oStmt.Column_Str(1); //返回值是utf8String
     end;
     oStmt.Close;
   finally
     oStmt.Free;
   end;
end;
5)绑定数据

var
  oStmt: TDISQLite3Statement;
  nID: Integer;
  strSQL, strName: string;
  I: Integer;
begin
  strSQL := 'Insert Into Test (ID, Name) Values(:ID, :Name)';
  oStmt := FDataBase.Prepare16(strSQL);
  try
    for I := 0 to 10 do
    begin
      oStmt.Open;
      oStmt.Bind_Int(1, I);//需要注意的事,绑定数据序号是从1开始的
      oStmt.Bind_Str16(2, 'Test');
      oStmt.Step;
      oStmt.Clear_Bindings;
      oStmt.Reset;//重置状态
    end;
  finally
    oStmt.Free;
  end;
end;
  个人感觉,操作DISQLite还算简单,基于用法就这些。






  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
[说明] DiSQLiteApi.dcu 文件根据实际开发环境在包内进行选择 本版本的 ASqlite 是基于 livu999 大侠的修改版继续魔改 原帖地址:http://download.csdn.net/download/ilvu999/6369053 本版本只支持 D2009 以上的 Unicode 版本的 Delphi 原作者在主要单元文件已经说明清楚了,老版本 Delphi 请绕道 为了照顾 XE2 下使用的朋友,故最后做了兼容 再照顾一下 DBGrid,令其不再显示 (MEMO) 另外做了兼容,在 XE8 开发环境及 64 位平台下通过基本测试            katar1024 (网名:阿龙) 2017-08-22 大改支持 TWideMemo,在此解决乱码问题 修正启用 SQLiteDateFormat 的情况下读取非正规日期字符串引起异常的 bug 查询语句中表名和字段名用中括号 [] 引括,可以使用 Index 之,等保留字段名 删除属性 CharacterEncode,一律按默认的 Uft-8 格式存取字符串 删除属性 DriverDll,已经启用 SQLite 静态库方式编译并链接,不需携带 dll 使用 DISQlite 的静态库编译,版本 3.8.3,兼容性和稳定性均良好 2017-08-23 插入和更新操作只针对已修改的字段进行处理和提交,提高执行效率 插入记录后,同步读取库中的数字和日期默认值,对取值自动分配 id 有意义 所有调试记录代码全部加了条件编译块控制,减小体积,提高调度效率 优化类型数据存取分支代码,减少体积,提高读写效率 去除初次读取数据 100 字节大小缓冲区的限制,防止字符串乱码 其它性能优化 其它 bug 修复 2017-08-24 修正设计器属性框中 Active 属性设置为 True,但运行时未打开查询的 bug ftString、ftWideString、ftMemo、ftWideMemo 等字符串字段通过乱码测试 Memo 字段添加显示功能,控件不再显示(MEMO)或(WIDEMEMO) Memo 字段支持 AsInteger、AsDataTime 等数据功能(设计器预定义的字段无效) 2017-08-25 修改关键属性时自动关闭数据连接 TransactionType、TempStore, DefaultSynchronous 等属性从字符串值修改为枚举值 修正 TypeLess 功能 添加 TASQLiteBaseQuery 一些关键属性在设计器中改变后自动关闭查询的功能 修正 Filtered 属性在设计器中改变后,但结果没变的 bug PS: 本来想弄个批处理提交功能的(BatchedUpdates 或 CachedUpdates), 在某些场合很实用,但最近改的问题太多了,改得好累,等下次真正用到了再补上 对 SQLite 的初恋蛮深的,但不得不吐槽,想说爱它真的很不容易
### 回答1: disqlite3 pro是一种基于SQLite数据库的高级工具。它提供了一系列方便的功能和性能优化,可以帮助用户更好地管理和处理SQLite数据库。 首先,disqlite3 pro具有更高的性能表现。它使用了一系列性能优化技术,例如缓存管理、索引优化和并发控制等,以提供更快的查询速度和更高的并发处理能力。这对于处理大规模数据和高并发访问的场景非常有益。 此外,disqlite3 pro还提供了更丰富的功能。它支持更多的SQL语法和函数,可以进行更复杂的数据查询和处理操作。同时,它还提供了一些高级功能,例如数据加密、数据压缩和备份恢复等,用以增强数据的安全性和可靠性。 除此之外,disqlite3 pro还提供了更便捷的开发工具和API。它可以与多种编程语言和开发框架进行集成,方便开发人员进行数据读写和操作。同时,它还提供了一套丰富的命令行工具和图形界面,用以辅助用户进行数据库管理和查询操作。 总之,disqlite3 pro作为一种高级的SQLite数据库工具,通过提供更高的性能、丰富的功能和便捷的开发工具,可以帮助用户更好地管理和处理SQLite数据库。无论是在性能要求高的应用中,还是在开发过程中,都可以选择disqlite3 pro来提升工作效率和数据处理能力。 ### 回答2: disqlite3 pro是一种高效的SQLite数据库管理工具。它是基于SQLite的开源项目,具有强大的功能和性能。 首先,disqlite3 pro提供了用户友好的图形界面,使得数据库的管理变得简便。它支持对数据库的创建、删除、备份、还原等操作,而无须编写繁琐的SQL语句。通过简单的操作,用户可以轻松地管理自己的数据库。 其次,disqlite3 pro具有强大的查询功能。它支持复杂的查询操作,可以根据用户的需求进行数据筛选、排序、统计等操作。同时,它还提供了图形化的结果展示,使得用户能够直观地查看查询结果。 除此之外,disqlite3 pro还提供了数据库性能优化的功能。它可以对数据库进行性能分析,找出潜在的性能瓶颈,并给出优化建议。通过对数据库的性能进行优化,可以加快查询速度,提升系统的响应能力。 此外,disqlite3 pro还支持数据的导入导出操作。用户可以将数据从其他数据库导入到disqlite3 pro中,也可以将disqlite3 pro中的数据导出到其他数据库中。这样的灵活性和兼容性,使得disqlite3 pro成为了广泛应用于跨数据库操作的工具。 总的来说,disqlite3 pro是一款功能强大、性能出色的SQLite数据库管理工具。它的用户友好的界面、强大的查询功能、性能优化功能以及数据的导入导出功能,使得用户能够方便地管理和优化数据库,提高工作效率。 ### 回答3: Disqlite3 Pro是一个功能强大的数据库管理工具。它是基于SQLite数据库引擎开发的,可以帮助用户更方便地操作和管理SQLite数据库。 Disqlite3 Pro具有以下特点和优势: 1. 直观的界面:Disqlite3 Pro提供了直观友好的用户界面,使用户可以轻松进行数据库管理工作。无论是新手还是有经验的用户,都能快速上手。 2. 多种操作功能:Disqlite3 Pro支持多种数据库操作功能,包括创建、编辑和删除数据库、表和索引等。用户可以通过简单的操作完成复杂的数据库管理任务。 3. SQL查询支持:Disqlite3 Pro内置了强大的SQL语句查询功能,用户可以通过简单的命令编写查询语句,快速检索数据库中的数据。同时,它还提供了语法高亮和代码补全等功能,大大提高了查询的效率和准确性。 4. 数据导入导出:Disqlite3 Pro支持将数据库中的数据导出为CSV、Excel等格式,还可以将外部数据文件导入到数据库中。这样用户可以方便地与其他数据处理工具进行数据交换和共享。 5. 数据库优化功能:Disqlite3 Pro还提供了一些数据库优化功能,如索引管理和空间回收等。这些功能可以提高数据库的性能和存储效率,并减少资源的消耗。 总之,Disqlite3 Pro是一个功能强大、操作简便的数据库管理工具。它能够帮助用户更高效地管理和操作SQLite数据库,提供了多种功能和优化选项,适用于各种数据库管理需求。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值