工作中遇到了用delphi查询sqlite数据库并将查询结果在listview展示的问题,而sqlite并不原生支持delphi,在网上查资料,看到有两篇文章都是引用以下一位delphi牛人对sqlite的封装,附上链接:https://www.itwriting.com/blog/articles/a-simple-delphi-wrapper-for-sqlite-3 我觉得作者这个简洁明了,有demo,能满足自己的需求。
作者也提到是用了很多别人封装的东西之后发现有bug,而且也没有把查询结果绑定到TDataSet的需求,所以干脆自己做了一份。我就直接在demo的基础上拿来用了。以下是查询sqlite并展示在listview上的代码。
procedure TForm1.btnReadClick(Sender: TObject);
var
slDBpath: string;
sldb: TSQLiteDatabase;
sltb: TSQLIteTable;
i: Integer;
begin
lv.Items.Clear; //lv为TListView控件,列标题可以提前在控件中编辑好
slDBpath := ExtractFilepath(application.exename) + 'db1.db3'; //数据库文件在程序根目录
sldb := TSQLiteDatabase.Create(slDBpath);
try
sltb := sldb.GetTable('SELECT * FROM log');
try
if sltb.Count > 0 then
begin
for i := 0 to sltb.Count