Database Zeoslib不允许切换数据库?

Database Zeoslib不允许切换数据库?,database,sqlite,delphi,access-violation,zeos,Database,Sqlite,Delphi,Access Violation,Zeos,我使用Zeoslib组件与SQLite数据库文件交互。我在一个文件夹中有几个SQLite数据库文件。所以,我希望能够使用Zeoslib组件打开其中任何一个。然而,它不会让我。它成功地打开了第一个数据库,但在此之后打开的任何数据库文件都会出现访问冲突错误。就我的一生而言,我就是不明白为什么 下面是我如何打开数据库文件的 程序tmainfm.open1点击发送者:ToObject; var-currdb:string; 开始 OpenDlg.InitialDir:=BaseDir; 如果OpenDl

我使用Zeoslib组件与SQLite数据库文件交互。我在一个文件夹中有几个SQLite数据库文件。所以,我希望能够使用Zeoslib组件打开其中任何一个。然而,它不会让我。它成功地打开了第一个数据库,但在此之后打开的任何数据库文件都会出现访问冲突错误。就我的一生而言,我就是不明白为什么

下面是我如何打开数据库文件的

程序tmainfm.open1点击发送者:ToObject; var-currdb:string; 开始 OpenDlg.InitialDir:=BaseDir; 如果OpenDlg.Execute=true,则 开始 currdb:=ExtractfilenameOpenDlg.FileName; DataModule1.ZConnection1.Disconnect; DataModule1.ZConnection1.Protocol:=“SQLite-3”; DataModule1.ZConnection1.Database:=baseDir+currdb; DataModule1.Query1.SQL.Clear;
DataModule1.Query1.SQL.Add'SELECT*fromMyTable';// 问题出在TZConnection.Protocol值大小写中。将协议值从SQLite-3更改为。

您可以使用ZConnection1进行尝试。协议:='SQLite-3';而不是“SQLite-3”。@moskito-x哦,你在跟我开玩笑。我花了一整天的时间把头撞在墙上,因为只有几个字母是大写的。天啊!!!我原以为这无关紧要,但显然是的。很高兴知道ZConnection1。协议区分大小写。值得注意的是,在断开连接之前关闭数据集是一种良好的行为。不要总是信任自动数据库断开连接。如果查询1.处于活动状态,则。。。