Zeoslib不允许切换数据库?

时间:2014-11-12 15:28:53

标签: database sqlite delphi access-violation zeos

我使用Zeoslib组件与我的SQLite数据库文件进行交互。我在一个文件夹中有几个SQLite数据库文件。所以,我希望能够使用Zeoslib组件打开它们中的任何一个。但是,它不会让我。它成功打开了第一个数据库但是之后我打开的任何数据库文件都出现了访问冲突错误。对于我的生活,我简直无法弄清楚为什么。

以下是我打开数据库文件的方法。

procedure TMainFrm.Open1Click(Sender: TObject);
var currdb:string;
begin
 OpenDlg.InitialDir := BaseDir;
 if OpenDlg.Execute = true then
 begin
      currdb := Extractfilename(OpenDlg.FileName);
      DataModule1.ZConnection1.Disconnect;
      DataModule1.ZConnection1.Protocol := 'SQLite-3';
      DataModule1.ZConnection1.Database :=baseDir + currdb;

      DataModule1.Query1.SQL.Clear;
      DataModule1.Query1.SQL.Add('SELECT * FROM MyTable'); // <<<<--- ZConnection1 is Query1 database connection.

      DataModule1.ZConnection1.Connect; // <<<<<-------Here is where I get ACCESS VIOLATION all the time.
      UpdateGrid; // <<<<<<<----- Here is where the Query is executed and the DBGrid is updated.
 end;
end;

我不知道为什么会这样。这是否意味着我无法使用Zeoslib组件从另一个数据库切换数据库?

1 个答案:

答案 0 :(得分:2)

问题在于TZConnection.Protocol值大小写。将Protocol值从SQLite-3更改为sqlite-3