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()