📅  最后修改于: 2020-11-02 04:07:47             🧑  作者: Mango
Rexx可以使用下面列出的各种数据库。
-所有的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()