2014-02-11 71 views
2

創造sqlite3的分貝我有問題,我覺得沒有錯誤,但仍然在我的文檔文件夾在創建數據庫在LUA

這裏沒有數據庫是我的代碼:

local sqlite3 = require "sqlite3" 

local path = system.pathForFile("data.db", system.DocumentsDirectory) 
local db = sqlite3.open(path) 
+1

試試'print(path)'? – hjpotter92

+0

可能重複[如何使用luasql創建Sqlite3數據庫?](http://stackoverflow.com/questions/12395072/how-do-i-create-an-sqlite3-database-using-luasql) – Schollii

回答

0

嘗試檢查了這一點:

http://sqlite.org/cintro.html

我知道它的目標是C和C++。但也許你可以從一種語言翻譯到另一種語言。我會爲你做,但我其實不知道Lua =/

另外,請檢查system.DocumentsDirectory的值以確保你在正確的位置查找(爲什麼不呢,檢查用戶權利)

0

你必須添加一些數據來創建它。

local tablesetup = [[CREATE TABLE IF NOT EXISTS place (id INTEGER PRIMARY KEY, name, xcor, ycor);]] 
db:exec(tablesetup) 

local testvalue = {} 
testvalue[1] = 'Name6' 
testvalue[2] = 'x' 
testvalue[3] = 'y' 
local tablefill =[[INSERT INTO place VALUES (']]..x..[[',']]..testvalue[1]..[[',']]..testvalue[2]..[[',']]..testvalue[3]..[[') ]] 

還記得在應用程序退出後使用它關閉它。

local function onSystemEvent(event) 
     if(event.type == "applicationExit") then    
      db:close() 
     end 
end 

Runtime:addEventListener("system", onSystemEvent)