Rexx - 資料庫



Rexx 能夠與各種資料庫協作,如下所示。

  • HSQLDB
  • Oracle
  • SQL Server
  • MySQL
  • MongoDB

所有關於 Rexx 資料庫的資訊都可以在您點選以下連結後找到:https://rexxsql.sourceforge.net/

Databases

在我們的示例中,我們將使用 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 − 連線到資料庫的使用者名稱稱。

  • password − 連線到資料庫的密碼。

  • 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 

資料庫表上的操作

以下型別的操作最常在資料庫表上執行。

序號 操作和描述
1 插入操作

當您希望將記錄建立到資料庫表中時,需要使用此操作。

2 讀取操作

任何資料庫上的讀取操作都意味著從資料庫中獲取一些有用的資訊。

3 更新操作

任何資料庫上的更新操作都意味著更新一個或多個已存在於資料庫中的記錄。

4 刪除操作

當您希望從資料庫中刪除某些記錄時,需要使用刪除操作。

5 關閉連線

以下命令可用於關閉與資料庫的連線。

執行事務

事務是一種確保資料一致性的機制。事務具有以下四個屬性:

  • 原子性 − 事務要麼完成,要麼根本不發生任何事情。

  • 一致性 − 事務必須從一致狀態開始,並使系統處於一致狀態。

  • 隔離性 − 事務的中間結果在當前事務之外不可見。

  • 永續性 − 一旦事務提交,其影響將是持久的,即使在系統故障後也是如此。

這是一個關於如何實現事務的簡單示例。

示例

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