sqlite使用dbexpress时数据库不存在自动建立数据库

在发布使用delphi dbexpress编写的基于SQLITE的程序时,需要在运行时判断某个数据库是否存在,如果不存在,则自动建立。

方法有2,其中之一是判断数据库文件是否存在,如果不存在,则创建一个文件,然后再连接该文件。方法二是直接在params中增加一个键值。

方法一:

var i:Integer;
begin
   if not FileExists('lhq.sqlitedb') then //如果文件不存在
     begin
       i:=FileCreate('lhq.sqlitedb'); //创建文件
       FileClose(i); //必须关闭文件才能完成创建
     end;
   con1.Params.Values['database']:='lhq.sqlitedb'; //修改数据库为创建的文件
   con1.Open;  //连接数据库
end;

方法二:

修改dbxconnections.ini,在SQLITECONNECTION栏中添加FailIfMissing=false,代码如下:

[SQLITECONNECTION]
DriverName=Sqlite
Database=test.db
FailIfMissing=false

默认情况下,FailIfMissing=true,改为false后,如果数据库不存在则不报错。

如果不修改dbxconnections,也可直接在params下添加此键值即可,代码如下:

begin
   {if not FileExists('lhq.sqlitedb') then
     begin
       i:=FileCreate('lhq.sqlitedb');
       FileClose(i);
     end;
   con1.Params.Values['database']:='lhq.sqlitedb';
   con1.Open;}
   con1.Params.Add('FailIfMissing=false');
   con1.Open;
end;
原文地址:https://www.cnblogs.com/luohq001/p/13053787.html