delphi 操作 sqlite 数据库

delphi 操作 sqlite 数据库

SQLite 是一款轻型的数据库,在实际项目上应用广泛。delphi 可以通过 ODBC 接口访问和操作 SQLite 数据库。以下介绍具体的步骤。

安装 SQLite ODBC 驱动

SQLite ODBC 驱动下载地址:SQLite ODBC 驱动
注意压缩包中包含32位和64位两个版本,可根据自己所开发程序的版本来安装相应的 ODBC 版本。

连接 SQLite 数据库

可使用 delphi 自带的 TADOConnection 控件来连接 SQLite 数据库。代码如下:

  try
    cnn.ConnectionString := 'Provider=MSDASQL.1;Extended Properties="Driver={SQLite3 ODBC Driver};Database=' + GetAppPath + 'sample.db;"';
    cnn.Connected := true;
  except on ex: Exception do
  begin
    ShowMessage('数据库访问失败:' + ex.Message);
  end;
  end;

操作 SQLite 数据库

在 delphi 中对 SQLite 进行增删改查等操作,与操作其他数据库的方式基本一样,只是在 SQL 语法上略有区别。以下代码展示了使用 TADOQuery 控件往指定数据表中插入一笔记录的操作。

  qryMain.Insert;
  qryMain.FieldByName('cu_id').AsInteger := AId;
  qryMain.FieldByName('cu_code').AsString := Format('T%.3d', [AId]);
  qryMain.FieldByName('cu_name').AsString := Format('测%.3d', [AId]);
  qryMain.Post;

批量插入

有时我们需要往一个数据表中插入大批量的数据,这时如果采用常规的插入方式,速度会较慢。我们可以通过一些方式进行优化,提高数据的插入速度。

  • 优化一:关闭写同步(PRAGMA synchronous = OFF)。在 SQLite 中, synchronous
    有三种模式:FULL、NORMAL 和 OFF。FULL模式下,保证数据不会损坏,但写入速度也最慢。OFF
    模式下,虽然降低了安全性,但写入速度也最快。
  • 优化二:使用事务。使用事务机制,可以避免频繁的提交和磁盘IO,在进行批量插入数据时,可极大的提升写入速度。
  qry.SQL.Text := 'PRAGMA synchronous = OFF';
  qry.ExecSQL;
  qry.SQL.Text := 'BEGIN';
  qry.ExecSQL;

  for i:=1 to 10000 do
  begin
    qry.SQL.Text := 'insert into tb_member(cu_id, cu_code, cu_name) '
                  + Format('values(%d, ''T%.4d'', ''测%.4d'')', [i, i, i]);
    qry.ExecSQL;
  end;

  qry.SQL.Text := 'COMMIT';
  qry.ExecSQL;
  qry.SQL.Text := 'PRAGMA synchronous = FULL';
  qry.ExecSQL;

运行效果

delphi操作 SQLite 数据库

完整代码下载

delphi 操作 sqlite 数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值