1. 程式人生 > >lua對sqlite資料庫操作封裝

lua對sqlite資料庫操作封裝

DB = {}
db_e = require "luasql.sqlite3"


function open_db( ... )
    -- body
    env = assert(db_e.sqlite3())
    db =assert(env:connect("test.db"))
end

function DB.query(sql)
    -- body
    open_db()
    local res = assert(db:execute(sql))
    local tb = {}
    local t = {}
    local i = 1
    while(nil ~= res:fetch(t, 'a')) do
        tb[i] = {}
        tb[i] = t
        t = {}  --must
    end
    res:close()
    close_db()
    return tb    --tb每個元素都是一個table
end

function DB.exec(sql)                                          
        -- body       
        open_db()     
        assert(db:execute(sql))
        close_db()            
end


function close_db( ... )
    -- body
    db:close()
    env:close()
end

return DB