我在Lazarus中使用TSQLite3Connection读取sqlite3文件时遇到问题,但是没有这样的表格'当我尝试
时myQuery.Active := True;
以下是我所做的步骤: 1.使用Name = sqliteconn:
将TSQLite3Connection组件拖放到我的表单中sqlteconn.DatabaseName := 'dbfile'; // the sqlite3 file in the directory of the project
2。删除TSQLTransaction组件Name = sqlitetransaction:
sqlitetransaction.Active := True;
sqlitetransaction.Database := sqliteconn;
3。使用Name = myQuery删除TSQLQuery组件:
myQuery.Database := sqliteconn;
myQuery.Transaction := sqlitetransaction;
myQuery.SQL.Text := 'select * from my_table';
4。我想将我的查询的Active属性设置为True并得到错误"没有这样的表:my_table"
我100%确定' my_table'在我的" dbfile"所以错误必须来自我在我的步骤中设置所有连接之间错误/错过的错误。任何人都可以给我一个提示,更改/添加到我的步骤,以便我的程序可以开始工作?
答案 0 :(得分:1)
我做到了! - 我不知道为什么但是在设计时我没有将myQuery.Active属性设置为“True”,但在运行时这个工作:
sqliteconn.DatabaseName := 'dbfile';
sqliteconn.Connected := True;
myQuery.Active := True;
如果你可以添加一些评论和解释如何使它在设计时工作也会非常有用,但直到我认为这才有资格作为答案;)
答案 1 :(得分:1)
这是因为设计时的当前目录不是项目目录。 当应用程序运行时,将找到该文件。
如果使用文件的完整路径,则连接必须在设计时工作。