📜  Rexx-数据库

📅  最后修改于: 2020-11-02 04:07:47             🧑  作者: Mango


Rexx可以使用下面列出的各种数据库。

  • 数据库
  • 甲骨文
  • 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-这是要赋予连接的名称。

  • 用户名-连接到数据库的用户名。

  • 密码-连接到数据库的密码。

  • 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-这是要赋予执行语句的名称。

  • statement-这是需要针对数据库执行的语句。

返回值

等于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 

数据库表上的操作

以下类型的操作最常在数据库表上执行。

Sr.No. Operation & Description
1 Insert Operation

It is required when you want to create your records into a database table.

2 Read Operation

A READ Operation on any database means to fetch some useful information from the database.

3 Update Operation

The UPDATE Operation on any database means to update one or more records, which are already available in the database.

4 Delete Operation

The DELETE operation is required when you want to delete some records from your database.

5 Closing a Connection

The following command can be used to close a connection to the database.

执行交易

事务是一种确保数据一致性的机制。事务具有以下四个属性-

  • 原子性-事务完成还是什么都没有发生。

  • 一致性-事务必须以一致状态开始,并使系统保持一致状态。

  • 隔离-交易的中间结果在当前交易之外不可见。

  • 持久性-提交事务后,即使在系统出现故障后,效果也将持久。

这是有关如何实现交易的简单示例。

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