2014-04-12 79 views
1

我有問題讀取與TSQLite3Connection一個sqlite3的文件拉撒路與錯誤「沒有這樣的表」,當我嘗試TSQLite3Connection在拉撒路無法讀取源碼文件

myQuery.Active := True; 

下面是我做的步驟: 1.降TSQLite3Connection組件我的名字= sqliteconn形式:

sqlteconn.DatabaseName := 'dbfile'; // the sqlite3 file in the directory of the project 

2.刪除TSQLTransaction組件名稱= sqlitetransaction:

sqlitetransaction.Active := True; 
sqlitetransaction.Database := sqliteconn; 

3.名稱=更改爲MyQuery降TSQLQuery組件:

myQuery.Database := sqliteconn; 
myQuery.Transaction := sqlitetransaction; 
myQuery.SQL.Text := 'select * from my_table'; 

4.我想設置我的查詢到真實的Active屬性,並得到錯誤 「沒有這樣的表:MY_TABLE」

我100%確定'my_table'在我的「dbfile」中,所以錯誤必須來自我在我的步驟中完成錯誤/遺漏的事情,以便設置我的組件之間的所有連接。任何人都可以給我一個提示什麼改變/添加到我的步驟,以便我的程序可以開始工作?

回答

1

我使它工作了! - 我不知道爲什麼,但在設計時我無法設置myQuery.Active屬性爲「真」,但在運行時這工作:

sqliteconn.DatabaseName := 'dbfile'; 
sqliteconn.Connected := True; 
myQuery.Active := True; 

如果你可以添加一些評論和解釋如何使它在設計時間工作也將是非常有用的,但直到比我認爲這有資格作爲答案;)

1

這是因爲當前目錄在設計時不是項目之一。 當應用程序運行時,該文件將被找到。

如果使用文件的完整路徑,則連接必須在設計時工作。