lua 连接mysql_luasql连接mysql数据库
Lua连接数据库不只是luasql这一个库,但是luasql是开源的,支持的数据库有:
Connection to ODBC,ADO,Oracle,MySQL,SQLite and PostgreSQL databases;
Execute arbitrary SQL statements
Retrieve results in a row-by-row cursor fashion
源代码编译可以得到一个dll,这个dll可以被c++或lua引用
下载luasql源代码
编译
使用vs2012打开vs2012命令提示符下面,cd到刚才下载的源码的目录,由于 我只想连接mysql数据库所以别的都没编译只编译了MakeFile.win.mysql这个。注意要用记事打开这个MakeFile.win.mysql这个makefile改一下里面的lua包含目录、库目录等,编译这个,还需要mysql的包含目录以及mysql的静态库libmySQL.lib和mysqlclient.lib,下面是我改后的makefile文件
LUA_INC=D:\Lua\5.1\include
LUA_DIR=D:\Lua\5.1
LUA_LIBDIR=D:\Lua\5.1\lib
LUA_LIB=D:\Lua\5.1\lib\lua5.1.lib
T=mysql
DRIVER_INCLUDE= /I"D:\Upupw\MySQL\include"
DRIVER_LIBS= "D:\Upupw\MySQL\lib\libmySQL.lib" "D:\Upupw\MySQL\lib\mysqlclient.lib"
OBJS= src\luasql.obj src\ls_$T.obj
.c.obj:
cl /c /Fo$[url=home.php?mod=space&uid=936]@[/url] /O2 /I$(LUA_INC) /DWIN32 /D_CRT_SECURE_NO_DEPRECATE $(DRIVER_INCLUDE) $<
src\$T.dll: $(OBJS)
link /dll /def:src\$T.def /out:$[url=home.php?mod=space&uid=936]@[/url] $(OBJS) $(DRIVER_LIBS) $(LUA_LIB)
install:
IF NOT EXIST $(LUA_LIBDIR)\luasql mkdir $(LUA_LIBDIR)\luasql
copy src\$T.dll $(LUA_LIBDIR)\luasql
clean:
del src\$T.dll
del src\$T.exp
del src\$T.lib
del $(OBJS)
直接 nmake /f Makefile.win.mysq直接在src目录下生成mysql.dll
使用方法
require "luasql.mysql"
--创建环境对象
env = assert(luasql.mysql())
--连接数据库
conn = assert(env:connect("bimokudb","root","root","localhost",3306))
--操作数据数据库
conn:execute"SET NAMES GB2312"
--执行数据库操作
--下面这种方式有问题,貌似和lua库有关
--[[
cur = conn:execute("SELECT * from people")
row = cur:fetch({},"a")
while row do
print(string.format("%s %s",row.name,row.email))
row = cur:fetch(row,"a")
end
--]]
-- res=conn:execute(" insert into t_user(username,password) values('你好','123')")
-- print(res)
--操作数据库文法2
function rows (connection, sql_statement)
local cursor = assert (connection:execute (sql_statement))
return function ()
return cursor:fetch()
end
end
for ID,BOOKNAME,AUTHOR in rows(conn ,"SELECT ID,BOOKNAME,AUTHOR from t_book") do
print(string.format("%d | %s | %s",ID,BOOKNAME,AUTHOR))
end
conn:close() --关闭数据库连接
env:close() --关闭数据库环境
lua 连接mysql_luasql连接mysql数据库相关推荐
- JAVA通过JDBC连接并操作MySQL数据库
JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...
- Win下通过 Navica t连接Ubuntu下MySQL数据库
昨天博主遇到一个很棘手的问题,就是如何使用Windows 去连接Ubuntu 下MySQL数据库,最后在网上查阅了相关的资料,浏览了很多前辈们的博客,终于解决这个问题了. 我的电脑配置情况是Windo ...
- php网页连mysql_php - 如何在单个网页上连接多个MySQL数据库?
php - 如何在单个网页上连接多个MySQL数据库? 我将信息分散在几个数据库中,并希望使用PHP将所有信息放到一个网页上. 我想知道如何连接到单个PHP网页上的多个数据库. 我知道如何使用以下方法 ...
- 实践案例丨Pt-osc工具连接rds for mysql 数据库失败
本文分享自华为云社区<Pt-osc工具连接rds for mysql 数据库失败>,原文作者:云技术搬运工 . [现象] 主机可以telent 通rds 端口,并且使用mysql-clie ...
- linux下程序JDBC连接不到mysql数据库
今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...
- tableau无法建立连接_的Tableau错误连接到本地MySQL数据库
Windows Server 2008的 的Tableau桌面7.0 本地MySQL使用XAMPP的Tableau错误连接到本地MySQL数据库 当试图使用的Tableau Desktop中的原生My ...
- myeclipse mysql连接_怎么连接myeclipse与mysql数据库
怎么连接myeclipse与mysql数据库 发布时间:2020-07-30 09:32:29 来源:亿速云 阅读:110 作者:Leah 本篇文章给大家分享的是有关怎么连接myeclipse与mys ...
- vapor mysql_无法在Vapor项目中连接我的MySQL数据库
我是Vapor的新手,我想尝试连接我的MySQL数据库.我在官方文档中找到了如何执行此操作,但当我尝试发送查询时,它会抛出一个错误: No services are available for 'Da ...
- cmd控制台连接MySQL数据库_如何利用CMD连接本机mysql数据库
从事数据工作的IT人员,很多人都会与Mysql数据库打交道.因为mysql数据库是一个开源的数据库,利用它来学习数据库的人也有很多.笔者今天就给大家分享一下,安装好mysql之后,怎么利用CMD连接本 ...
- linux mysql 10061_详解使用navicat连接远程linux mysql数据库出现10061未知故障
使用使用navicat连接远程linux mysql数据库出现10061未知故障,设置使用ssh连接后出现2013故障 本机环境:win10 navicat premium mysql数据库主机环境: ...
最新文章
- 状态栏消息提示——使用Notification
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 4 Art Generation with Neural Style Transfer
- linux 内核将两个设备相关联,linux用户空间和内核空间交换数据
- excel两列相同匹配第三列_Vlookup函数解决Excel大量数据匹配问题
- LeetCode(852)——山脉数组的峰顶索引(JavaScript)
- bzoj 1535: [POI2005]Sza-Template(fail树)
- hadoop处理excel数据
- PageHelper.startPage();的使用
- 麦子学院彭亮python基础_麦子学院Python视频
- 给虚拟机下载安装jdk,hadoop等(非常详细的步骤)
- labelme json转换为coco json 格式 包含area面积
- (2)ubuntu 中安装epics 的额外插件---asyn 以及 streamdevice
- 国防科技大学计算机系邹革新,国防科技大学机电工程与自动化学院――邹逢兴教授...
- 日期转换(正推与倒推)
- oracle收购了什么意思,BEA为何会被Oracle收购?
- 《信号与系统》——连续傅里叶变换与拉布拉斯变换专题
- duilib创建自定义控件
- 移动机器人算法python实例 -- 开源项目推介
- win10 python3 install rosbag cv_bridge
- 解决androidl连接mysql闪退的问题