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数据库相关推荐

  1. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  2. Win下通过 Navica t连接Ubuntu下MySQL数据库

    昨天博主遇到一个很棘手的问题,就是如何使用Windows 去连接Ubuntu 下MySQL数据库,最后在网上查阅了相关的资料,浏览了很多前辈们的博客,终于解决这个问题了. 我的电脑配置情况是Windo ...

  3. php网页连mysql_php - 如何在单个网页上连接多个MySQL数据库?

    php - 如何在单个网页上连接多个MySQL数据库? 我将信息分散在几个数据库中,并希望使用PHP将所有信息放到一个网页上. 我想知道如何连接到单个PHP网页上的多个数据库. 我知道如何使用以下方法 ...

  4. 实践案例丨Pt-osc工具连接rds for mysql 数据库失败

    本文分享自华为云社区<Pt-osc工具连接rds for mysql 数据库失败>,原文作者:云技术搬运工 . [现象] 主机可以telent 通rds 端口,并且使用mysql-clie ...

  5. linux下程序JDBC连接不到mysql数据库

    今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...

  6. tableau无法建立连接_的Tableau错误连接到本地MySQL数据库

    Windows Server 2008的 的Tableau桌面7.0 本地MySQL使用XAMPP的Tableau错误连接到本地MySQL数据库 当试图使用的Tableau Desktop中的原生My ...

  7. myeclipse mysql连接_怎么连接myeclipse与mysql数据库

    怎么连接myeclipse与mysql数据库 发布时间:2020-07-30 09:32:29 来源:亿速云 阅读:110 作者:Leah 本篇文章给大家分享的是有关怎么连接myeclipse与mys ...

  8. vapor mysql_无法在Vapor项目中连接我的MySQL数据库

    我是Vapor的新手,我想尝试连接我的MySQL数据库.我在官方文档中找到了如何执行此操作,但当我尝试发送查询时,它会抛出一个错误: No services are available for 'Da ...

  9. cmd控制台连接MySQL数据库_如何利用CMD连接本机mysql数据库

    从事数据工作的IT人员,很多人都会与Mysql数据库打交道.因为mysql数据库是一个开源的数据库,利用它来学习数据库的人也有很多.笔者今天就给大家分享一下,安装好mysql之后,怎么利用CMD连接本 ...

  10. linux mysql 10061_详解使用navicat连接远程linux mysql数据库出现10061未知故障

    使用使用navicat连接远程linux mysql数据库出现10061未知故障,设置使用ssh连接后出现2013故障 本机环境:win10 navicat premium mysql数据库主机环境: ...

最新文章

  1. 状态栏消息提示——使用Notification
  2. 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 4 Art Generation with Neural Style Transfer
  3. linux 内核将两个设备相关联,linux用户空间和内核空间交换数据
  4. excel两列相同匹配第三列_Vlookup函数解决Excel大量数据匹配问题
  5. LeetCode(852)——山脉数组的峰顶索引(JavaScript)
  6. bzoj 1535: [POI2005]Sza-Template(fail树)
  7. hadoop处理excel数据
  8. PageHelper.startPage();的使用
  9. 麦子学院彭亮python基础_麦子学院Python视频
  10. 给虚拟机下载安装jdk,hadoop等(非常详细的步骤)
  11. labelme json转换为coco json 格式 包含area面积
  12. (2)ubuntu 中安装epics 的额外插件---asyn 以及 streamdevice
  13. 国防科技大学计算机系邹革新,国防科技大学机电工程与自动化学院――邹逢兴教授...
  14. 日期转换(正推与倒推)
  15. oracle收购了什么意思,BEA为何会被Oracle收购?
  16. 《信号与系统》——连续傅里叶变换与拉布拉斯变换专题
  17. duilib创建自定义控件
  18. 移动机器人算法python实例 -- 开源项目推介
  19. win10 python3 install rosbag cv_bridge
  20. 解决androidl连接mysql闪退的问题

热门文章

  1. 本地缓存Ehcache
  2. 集群(Trunking)调度通信系统
  3. 智能门锁里的大市场,凯迪仕签署上市辅导协议,冲击A股上市
  4. 下载echarts地图资源包
  5. php账单明细功能怎么实现,php 账单生成
  6. 解决win10开启Hyper-V失败
  7. 获取html中的所有图片地址
  8. Java生成条形码(亲测可通过扫码枪扫出)
  9. 智慧水务平台建设方案
  10. M(MUMPS)语音中的语法