luasql.sqlite3を使ってselectするメモ

require("luasql.sqlite3")

local env = luasql.sqlite3()
local con = env:connect("sample.db")

local cur = con:execute("select * from test")

local row = {}
while cur:fetch(row, "a") do
    print("ID:" .. row.id .. ", NAME:" .. row.name)
end

cur:close()
con:close()
env:close()

エラー制御うんぬんは一切してない。

closeをたくさんしないといけないのがあれって以外は
かなりすっきり書けるんだな。

cur:fetch()は結果を入れるテーブルとモード。
"a"の場合はドット記法でカラム名をしていすればいい。
デフォルトは"n"でインデックス(1から)になる。

個人的には"a"のほうがわかりやすくて好きだな。