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;
上一篇:memcache讲解和在.net中初使用


下一篇:linux下EOF写法梳理 自动新建分区并挂载的脚本