- 雷克斯教程
- 雷克斯 - 主页
- Rexx - 概述
- Rexx - 环境
- Rexx - 安装
- Rexx - 插件安装
- Rexx - 基本语法
- Rexx - 数据类型
- Rexx - 变量
- Rexx - 操作员
- Rexx - 数组
- Rexx - 循环
- Rexx - 决策
- Rexx - 数字
- Rexx - 弦乐
- Rexx - 功能
- Rexx - 堆栈
- Rexx - 文件 I/O
- Rexx - 文件函数
- Rexx - 子程序
- Rexx - 内置函数
- Rexx - 系统命令
- 雷克斯-XML
- 雷克斯 - 里贾纳
- Rexx - 解析
- Rexx - 信号
- Rexx - 调试
- Rexx - 错误处理
- Rexx - 面向对象
- Rexx - 便携性
- Rexx - 扩展功能
- Rexx - 说明
- Rexx - 实施
- 雷克斯 - Netrexx
- 雷克斯 - Brexx
- Rexx - 数据库
- 手持式和嵌入式
- Rexx - 性能
- Rexx - 最佳编程实践
- Rexx - 图形用户界面
- 雷克斯 - 雷金纳德
- Rexx - 网络编程
- 雷克斯有用资源
- Rexx - 快速指南
- Rexx - 有用的资源
- Rexx - 讨论
Rexx - 数据库
Rexx 能够使用下面列出的各种数据库。
- HSQL数据库
- 甲骨文
- SQL服务器
- MySQL
- MongoDB
单击以下链接即可找到 Rexx 数据库的所有信息 - https://rexxsql.sourceforge.net/
在我们的示例中,我们将使用 MySQL DB 作为示例。因此,第一步是确保从 Rexx SQL 站点下载所需的驱动程序,以便 Rexx 程序可以相应地使用 SQL。因此,请按照后续步骤确保Rexx程序可以与MySQL数据库配合使用。
步骤 1 - 从 Rexx 站点转到以下驱动程序下载页面 - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/
步骤 2 - 下载 MYSQL 驱动程序 - rxsql26B3_my_w32_ooRexx
步骤 3 - 将内容解压缩到本地计算机。
步骤 4 - 将解压文件夹的路径添加到计算机上的路径变量中。
对于所有后续示例,请确保以下指针已就位 -
您已经创建了一个数据库 TESTDB。
您已在 TESTDB 中创建了一个表 EMPLOYEE。
该表包含字段 FIRST_NAME、LAST_NAME、AGE、SEX 和 INCOME。
设置用户ID“testuser”和密码“test123”来访问TESTDB。
确保您已下载 mysql jar 文件并将该文件添加到类路径中。
您已完成 MySQL 教程
数据库连接
要建立数据库连接,首先需要Rexxsql DLL,然后使用SQLConnect函数建立与数据库的连接。下面给出了如何实现这一点的语法和示例。
句法
SQLConnect(cname,username,password,dbname)
参数
cname - 这是赋予连接的名称。
username - 连接到数据库的用户名。
密码- 连接数据库的密码。
dbname - 要连接的数据库模式。
返回值
值等于 0 表示数据库连接成功。
例子
/* Main program */ Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' Call SQLLoadFuncs say SQLConnect(c1,' testuser ',' test123','testdb')
上述程序的输出如下所示。
0
创建数据库表
连接到数据库后的下一步是在数据库中创建表。以下示例显示如何使用 Rexx 在数据库中创建表。Rexx SQL 中的所有命令均通过使用 SQLCommand 函数执行。
句法
SQLConnect(sname,statement)
参数
sname - 这是要执行的语句的名称。
语句- 这是需要对数据库执行的语句。
返回值
值等于 0 表示命令成功。
例子
/* Main program */ Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' Call SQLLoadFuncs if SQLConnect(c1,'testuser','test123','testdb') == 0 then say 'Connect Succedded' if SQLCommand(u1,"use testdb") == 0 then say 'Changed database to testdb' sqlstr = 'create table employee (first_name char(20) not null, last_name char(20),age int, sex char(1), income float)' if SQLCommand(c2,sqlstr) == 0 then say 'Employee table created'
上述程序的输出如下所示。
Connect Succedded Changed database to testdb Employee table created
对数据库表的操作
以下类型的操作最常在数据库表上执行。
先生。 | 操作及说明 |
---|---|
1 | 插入操作
当您想要将记录创建到数据库表中时,这是必需的。 |
2 | 读操作
对任何数据库的 READ 操作都意味着从数据库中获取一些有用的信息。 |
3 | 更新操作
任何数据库上的 UPDATE 操作都意味着更新数据库中已有的一条或多条记录。 |
4 | 删除操作
当您想从数据库中删除某些记录时,需要执行 DELETE 操作。 |
5 | 关闭连接
以下命令可用于关闭与数据库的连接。 |
执行交易
事务是一种保证数据一致性的机制。交易具有以下四个属性 -
Atomics性- 事务要么完成,要么什么也没有发生。
一致性- 事务必须以一致的状态开始并使系统处于一致的状态。
隔离- 事务的中间结果在当前事务之外不可见。
持久性- 一旦事务被提交,即使在系统发生故障之后,其影响也是持久的。
这是一个如何实现事务的简单示例。
例子
/* Main program */ Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' Call SQLLoadFuncs if SQLConnect(c1,'testuser','test123','testdb') == 0 then say 'Connect Succedded' if SQLCommand(u1,"use testdb") == 0 then say 'Changed database to testdb' sqlstr = "DELETE FROM EMPLOYEE WHERE AGE > 20" if SQLCommand(c2,sqlstr) == 0 then if sqlcommit() == 0 then say committed
上述程序的输出如下所示。
Connect Succedded Changed database to testdb COMMITTED
提交操作
提交操作告诉数据库继续操作并完成对数据库的所有更改。在上面的示例中,这是通过以下命令实现的。
Sqlcommit()
回滚操作
如果您对一项或多项更改不满意并且想要完全恢复这些更改,请使用回滚方法。在上面的示例中,这是通过以下命令实现的。
SqlRollback()