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;