Fastweb - Lua操作SQLite数据库

本文演示FastWeb网站开发中处理SQLite数据库

示例演示如何创建、查询、删除与更新,SQL在文章底部。

Lua 复制代码
local dkjson = require("dkjson")
local db = sqlite_db.new()
-- 清空示例
function sqlite_delete()
    -- 清空数据
    local ppst = db:setsql("DELETE FROM users")
    ppst:update()
end
-- 插入数据
function sqlite_insert()
    local ppst = db:setsql("INSERT INTO users(username,password)VALUES(?,?)")
    -- 文本
    ppst:set_str(1,"fastweb")
    ppst:set_str(2,"123456")
    ppst:update()
end
-- 更新数据
function sqlite_update()
    local ppst = db:setsql("UPDATE users SET password = ? WHERE username = ?")
    ppst:set_str(1,"666666")
    ppst:set_str(2,"fastweb")
    ppst:update()
end
-- 查询数据
function sqlite_select()
    local ppst = db:setsql("SELECT * FROM users WHERE id > 0")
    ppst:set_i32(1,0)
    -- 查询结果
    local result = ppst:query();

    local users = {}
    while result:next() do
        local user = {
            username = result:get("username"),
            password = result:get("password"),
        }
        table.insert(users,user)
    end
    return users;
end


-- 打开
if db:open("data.db") == false then
	response:send("sqlite open failed,"..db:last_error())
	return
end
-- 创建表
local ppst = db:setsql("CREATE TABLE users(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT );")
if ppst ~= nil then
	ppst:update()
end

--sqlite_delete()
sqlite_insert()
sqlite_update()
sqlite_select()
local users =sqlite_select()
response:send(dkjson.encode(users))
相关推荐
韭菜炒鸡肝天10 小时前
Django模型迁移指南:从命令用法到最佳实践
数据库·django·sqlite
星空露珠1 天前
迷你世界3.0API,事件监听
开发语言·数据结构·数据库·游戏·lua
2601_960906721 天前
华为MateBook Pro S首发搭载麒麟XE90
华为·postgresql·sqlite·时序数据库·tdengine
ellis19702 天前
u3d插件xLua[二]例2:U3DScripting,例3:UIEvent分析
unity·lua
天天进步一点点3 天前
QSqlQuery删除sqlite数据库执行drop数据表报错database table is locked unable to fetch row问题
数据库·oracle·sqlite
muddjsv4 天前
SQLite数据库文件机制详解:journal、wal、shm文件作用与备份避坑
数据库·sqlite
寒水馨4 天前
Windows下载、安装neovim-v0.12.4(附安装包nvim-win64.msi)
windows·编辑器·vim·lua·终端·lsp·neovim
烤代码的吐司君4 天前
Lua 脚本
开发语言·junit·lua
寒水馨4 天前
macOS下载、安装neovim-v0.12.4(附安装包nvim-macos-arm64.tar.gz)
macos·vim·lua·文本编辑器·终端·lsp·neovim
光头闪亮亮5 天前
Fyne ( go跨平台GUI )项目实战-项目开发必备基础知识(上)
android·sqlite·go