Lua 自身并没有提供访问数据库的函数,但是借助外部扩展库我们可以很容易实现对数据库的各种操作,下面就为大家介绍这样一个扩展库 - LuaSQL,你可以在下载区得到它。
LuaSQL 定义了一套简单的面向对象的 API,通过它,Lua 可以以统一的方法访问各种流行的数据库(例如 PostgreSQL,ODBC,JDBC,MySQL,SQLite,Oracle 和 ADO 等等)。
LuaSQL 在 Lua 中定义了一个名称为 luasql 的全局表(用初始化函数 luaopen_luasqldrivername 生成),这个表储存了载入数据库驱动的初始化方法。这些方法可以创建一个环境对象,这些环境对象则可以创建数据库的连接对象。连接对象可以执行各种 SQL 语句,最终产生游标对象。
环境对象
环境对象是由储存在 luasql 表中的各种数据库初始化函数创建的,这些函数的名称和它们对应的数据库名称是一样的。例如:
env = luasql.odbc()
这会使用 ODBC 驱动创建一个环境对象。JDBC 驱动比较特殊,你还必须让它知道应该使用哪种内部驱动器,因此在创建环境对象时,你应该把驱动的类名作为参数传递给 luasql.jdbc 函数。例如:
env = luasql.jdbc("com.mysql.jdbc.Driver")
方法
env:close()
关闭环境对象。必须在与它相关的所有数据库连接都关闭以后才应该调用这个函数。
返回值:关闭成功返回 true,关闭失败或者环境对象已经被关闭了返回 false。
env:connect(sourcename[,username[,password]])