易语言对接MySQL数据库进行数据检索

Mysql数据库已经成为各大中小网站必备要素之一,在开发程序时也难免要和网站数据进行对接,那如何来对接网站的Mysql数据库呢?本文主要着重讲一下如何连接数据库和取回数据

手绘祥云大标题招聘封面@凡科快图.jpg

易语言自带的支持库中就有关于mysql的,如果你在你的支持库中没有看到,请按下面图示步骤操作

图片[2]-易语言对接MySQL数据库进行数据检索-落叶博客
图片[3]-易语言对接MySQL数据库进行数据检索-落叶博客

然后我们看左边的支持库,就能找到mysql支持库了

图片[4]-易语言对接MySQL数据库进行数据检索-落叶博客

连接mysql数据库

在进行数据库操作之前,应当先连接到数据库,我们需要用到 连接MySql()BASIC

  调用格式: 〈整数型〉 连接MySql ([文本型 MySql服务器地址],[文本型 用户名],[文本型 密码],[文本型 数据库名],[整数型 端口]) - MySQL支持库->MySql操作
    英文名称:mysql_connect
    连接到MySql服务器,返回一个MySql句柄。返回0表示连接失败,请检查该MYSQL服务器是否允许连接。有效的Mysql句柄使用完毕后需通过“断开Mysql”命令释放相关资源。本命令为初级命令。
    参数<1>的名称为“MySql服务器地址”,类型为“文本型(text)”,可以被省略。本参数的作用是设置MYSQL服务器的地址。请输入您想要连接的MySql服务器的地址,如果为空或字符串"localhost",则是到本地主机的一个连接。
    参数<2>的名称为“用户名”,类型为“文本型(text)”,可以被省略。本参数的作用是设置您的用户名,如果为空,为当前用户。
    参数<3>的名称为“密码”,类型为“文本型(text)”,可以被省略。本参数的作用是设置您的密码,如果为空,且USER表中设置了“空字段可用”属性则可以匿名登陆。
    参数<4>的名称为“数据库名”,类型为“文本型(text)”,可以被省略。本参数的作用是设置您想要访问的数据库,如果为空则为默认数据库。
    参数<5>的名称为“端口”,类型为“整数型(int)”,可以被省略。本参数的作用是设置您想要连接的MySql服务器的端口,如果为空则为默认端口。

    操作系统需求: Windows、Linux

这里需要注意,参数1-4都是文本型,而参数5端口是整数型

参数1为数据库的IP地址,一般在主机的控制台或者如果是单独买的MySql数据库可以在后台看到Ip地址,这里指的是外网地址

图片[5]-易语言对接MySQL数据库进行数据检索-落叶博客

参数2为用户名,指的是我们登陆mysql数据库的用户名

参数3为登陆数据库的密码

图片[6]-易语言对接MySQL数据库进行数据检索-落叶博客

参数4位数据库名,如图所示

图片[7]-易语言对接MySQL数据库进行数据检索-落叶博客

另外,该函数的返回值是[MySql句柄],至于啥是句柄,你可以理解成识别一个数据库的唯一的一串数字,和窗口句柄意思类似。

代码如下BASIC

.版本 2
.支持库 mysql

.局部变量 b, 整数型

b = 连接MySql (“120.26.*.*”, “root”, “123445”, “user”, 3306)

这里会把返回的窗口句柄赋值到b

如果b=0即为数据库连接失败,我们可以这样写BASIC

.版本 2

.如果真 (b = 0)
    信息框 (“数据库链接失败”, 0, , )
    返回 ()

这样执行后如果没有连接成功就会直接返回,不再往下执行

图片[8]-易语言对接MySQL数据库进行数据检索-落叶博客

链接成功后,我们就可以进入下一步了

mysql语句

在操作mysql的时候我们需要用到mysql语句(我没有学过mysql,仅仅是了解过一点,如果表述不清楚还请大佬在评论指点)

获取数据库记录集然后检索数据

我们要分四步,

1.通过Mysql句柄来执行mysql语句获取记录集→2.通过 取记录集()来获取记录集句柄→3.通过 取记录集行数()来获取一个数字→4.通过计次循环来逐步检索每行的数据

我们需要用到的mysql语句为:select * from 表名

这里的表名即为数据库表名,如下图

图片[9]-易语言对接MySQL数据库进行数据检索-落叶博客

这个语句即为获取表中的记录集

然后我们来认识一下如下几个函数

执行mysql语句()BASIC

    调用格式: 〈逻辑型〉 执行SQL语句 (整数型 MySql句柄,文本型 Sql语句) - MySQL支持库->MySql操作
    英文名称:mysql_query
    执行一条SQL语句,执行成功返回真,失败返回假。如果执行成功可以通过“取记录集”命令得到记录集句柄。本命令为高级命令。
    参数<1>的名称为“MySql句柄”,类型为“整数型(int)”。本参数必须是本进程调用“连接MySql”命令得到的返回值。
    参数<2>的名称为“Sql语句”,类型为“文本型(text)”。本参数是设置查询数据库的SQL语句,如Select,Update,Insert,Delete等等语句。详细信息请参考相关SQL语言书籍。

    操作系统需求: Windows、Linux

参数1为Mysql句柄,即为我们链接Mysql数据库时返回的整数b

参数2为mysql语句,我们用到的是select * from 表名

返回值是一个整数型的记录集句柄,和mysql句柄类似

可以这样写BASIC

MySQL语句 = “select * from 表名”

取记录集()BASIC

    调用格式: 〈整数型〉 取记录集 (整数型 MySql句柄) - MySQL支持库->MySql操作
    英文名称:store_result
    得到查询后的记录的集合(简称:记录集)。返回记录集句柄。当使用完记录集后要通过“释放记录集”命令来释放记录集。本命令为初级命令。
    参数<1>的名称为“MySql句柄”,类型为“整数型(int)”。本参数必须是本进程调用“连接MySql”命令得到的返回值。

    操作系统需求: Windows、Linux

在执行这个命令之前,需要执行mysql语句,这样数据库才能给你找到记录集,否则返回值为空

参数1为MYsql句柄,即为我们连接mysql数据库时返回的整数b

我们可以命名一个整数变量“记录集句柄”来存放它,如下BASIC

记录集句柄 = 取记录集 (b)

取记录集行数()BASIC

    调用格式: 〈长整数型〉 取记录集行数 (整数型 记录集句柄) - MySQL支持库->MySql操作
    英文名称:num_rows
    获取记录集的行数。本命令为初级命令。
    参数<1>的名称为“记录集句柄”,类型为“整数型(int)”。本参数必须是本进程调用“取记录集”命令得到的返回值。

    操作系统需求: Windows、Linux

这个命令可以为我们提供记录集一共有几行,方便下面我们用计次循环来逐行检索

参数1为记录集句柄,即为我们刚刚变量“记录集句柄”储存的整数

可以这样写,声明一个长整数型变量“记录数量”来进行储存BASIC

记录数量 = 取记录集行数 (记录集句柄)

用计次循环来逐行检索

假如我们要在一个user_table表中的username字段中寻找admin

这里我们需要用到以下几个函数

读字段值()BASIC

    调用格式: 〈逻辑型〉 读字段值 (整数型 记录集句柄,通用型 字段,通用型变量 结果变量) - MySQL支持库->MySql操作
    英文名称:fetch_text
    读记录集中当前行的字段内容,字段索引从0开始。读取成功返回真,失败返回假。如果读取成功将把字段中的数据写入结果变量。本命令为初级命令。
    参数<1>的名称为“记录集句柄”,类型为“整数型(int)”。本参数必须是本进程调用“取记录集”命令得到的返回值。
    参数<2>的名称为“字段”,类型为“通用型(all)”。本参数指定您想要读取的字段,可以是字段名称或是字段序号。
    参数<3>的名称为“结果变量”,类型为“通用型(all)”,提供参数数据时只能提供变量。本参数是存放返回结果的变量,如果字段类型为#MYSQL日期型或#MYSQL时间型或#MYSQL年份型时系统会转换为易语言中的日期时间型,如:字段为#MYSQL时间型,值为“23:33:34”,通过本命令得到的日期时间型变量的值为“2000-1-1 23:33:34”,如果字段为空时返回0或空字符串或空字节集。可以通过“字段是否为空”命令确定。

    操作系统需求: Windows、Linux

我们首先要声明一个文本型变量“姓名”用来存放取到的内容

参数1为记录集句柄,即我们刚刚命名的变量“记录集句柄”

参数2为字段,如图

图片[10]-易语言对接MySQL数据库进行数据检索-落叶博客

参数3即为取回的数据保存的变量,这里我们写“姓名”,即为把取回的数据保存在“姓名”这个变量之中

可以这样写BASIC

读字段值 (记录集句柄, “username”, 姓名)

到下一行()BASIC

    调用格式: 〈逻辑型〉 到下一行 (整数型 记录集句柄) - MySQL支持库->MySql操作
    英文名称:row_next
    将当前记录指针向下移动一行,成功返回真,失败返回假。本命令为初级命令。
    参数<1>的名称为“记录集句柄”,类型为“整数型(int)”。本参数必须是本进程调用“取记录集”命令得到的返回值。

    操作系统需求: Windows、Linux

即为在当前的位置向下一行

参数1位记录集句柄,不多说了,说了不止一遍这是个什么东西了

可以这样写BASIC

到下一行 (记录集句柄)

用计次循环首依次检索的代码可以这么写BASIC

.版本 2
.支持库 mysql

.局部变量 记录数量, 整数型
.局部变量 i, 整数型
.局部变量 姓名, 文本型

.计次循环首 (记录数量, i)
    读字段值 (记录集句柄, “username”, 姓名)
    .如果 (姓名 = “admin”)
        信息框 (“已找到”, 0, , )
        跳出循环 ()
    .否则

    .如果结束

    到下一行 (记录集句柄)
.计次循环尾 ()

总结

BASIC

.版本 2
.支持库 mysql

.局部变量 b, 整数型
.局部变量 记录集句柄, 整数型
.局部变量 MySQL语句, 文本型
.局部变量 记录数量, 整数型
.局部变量 i, 整数型
.局部变量 姓名, 文本型

b = 连接MySql (“120.26.*.*”, “root”, “123445”, “user”, 3306)
.如果真 (b = 0)
    信息框 (“数据库链接失败”, 0, , )
    返回 ()

.如果真结束
MySQL语句 = “select * from user_table”
执行SQL语句 (b, MySQL语句)
记录集句柄 = 取记录集 (b)
记录数量 = 取记录集行数 (记录集句柄)
.计次循环首 (记录数量, i)
    读字段值 (记录集句柄, “username”, 姓名)
    .如果 (姓名 = “admin”)
        信息框 (“已找到”, 0, , )
        跳出循环 ()
    .否则

    .如果结束

    到下一行 (记录集句柄)
.计次循环尾 ()
图片[11]-易语言对接MySQL数据库进行数据检索-落叶博客

如果不是太懂可以直接复制代码粘贴到易语言套用即可

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容