2013-07-12 20 views
1

在我的應用程序中,我使用場景轉換。我從scene1中獲得一個值並將其傳遞到scene2使用Lua - 在sqlite中查詢變量

local routeId = storyboard.state.routeId 

這可以正常工作。接下來,我想使用routeId獲取所有數據。爲此我使用:

for row in db:nrows("SELECT * FROM route WHERE route_id = routeId") do 
... 

這是行不通的。我一直在查看參數化查詢,綁定值,SQL注入等。但由於我是初學者,這對我來說都是非常先進的東西。有任何想法嗎?

回答

2

Prepared Statements with Parameters (Binding)

stmt = db:prepare("SELECT * FROM route WHERE route_id = ?") 
stmt:bind(routeId) 
stmt:exec() 
+0

我已經把你的代碼放到我的,它說:「試圖調用一個方法‘EXEC’(一個零值)。有什麼我錯過了嗎?我怎樣才能得到那麼數據在使用SQLite之前,我已經使用db:nrows中的行... – jumbee

+0

@jumbee,這是因爲它是SELECT語句,因此您應該使用':first_cols'或':cols',否則主要答案是100 –

+0

這是我尋找的解決方案:對於db中的行:nrows(「SELECT * FROM route WHERE route_id =」.. routeId)do謝謝大家的幫助... – jumbee