Rexx - Cơ sở dữ liệu

Rexx có khả năng làm việc với nhiều loại cơ sở dữ liệu được liệt kê bên dưới.

  • HSQLDB
  • Oracle
  • Máy chủ SQL
  • MySQL
  • MongoDB

Tất cả thông tin về cơ sở dữ liệu Rexx có thể được tìm thấy khi bạn nhấp vào liên kết sau: https://rexxsql.sourceforge.net/

Trong ví dụ của chúng tôi, chúng tôi sẽ sử dụng MySQL DB làm mẫu. Vì vậy, bước đầu tiên là đảm bảo tải xuống các trình điều khiển được yêu cầu từ trang Rexx SQL để các chương trình Rexx có thể hoạt động với SQL tương ứng. Vì vậy, hãy làm theo các bước tiếp theo để đảm bảo rằng các chương trình Rexx có thể hoạt động với cơ sở dữ liệu MySQL.

Step 1 - Truy cập trang tải xuống trình điều khiển sau từ trang Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - Tải xuống trình điều khiển MYSQL - rxsql26B3_my_w32_ooRexx

Step 3 - Giải nén nội dung vào máy cục bộ.

Step 4 - Thêm đường dẫn của thư mục đã giải nén vào biến đường dẫn trên máy của bạn.

Đối với tất cả các ví dụ tiếp theo, hãy đảm bảo có các con trỏ sau:

  • Bạn đã tạo một cơ sở dữ liệu TESTDB.

  • Bạn đã tạo một bảng EMPLOYEE trong TESTDB.

  • Bảng này có các trường FIRST_NAME, LAST_NAME, AGE, SEX và THU NHẬP.

  • ID người dùng "testuser" và mật khẩu "test123" được đặt để truy cập TESTDB.

  • Đảm bảo bạn đã tải xuống tệp jar mysql và thêm tệp vào classpath của bạn.

  • Bạn đã xem qua hướng dẫn MySQL

Kết nối cơ sở dữ liệu

Để thiết lập kết nối cơ sở dữ liệu, trước tiên bạn cần Rexxsql DLL và sau đó sử dụng chức năng SQLConnect để thiết lập kết nối với cơ sở dữ liệu. Cú pháp và ví dụ về cách đạt được điều này được đưa ra dưới đây.

Cú pháp

SQLConnect(cname,username,password,dbname)

Thông số

  • cname - Đây là tên để đặt cho kết nối.

  • username - Tên người dùng để kết nối với cơ sở dữ liệu.

  • password - Mật khẩu để kết nối với cơ sở dữ liệu.

  • dbname - Lược đồ cơ sở dữ liệu để kết nối.

Giá trị trả lại

Giá trị bằng 0 có nghĩa là kết nối cơ sở dữ liệu thành công.

Thí dụ

/* Main program */ 
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' 
Call SQLLoadFuncs 
say SQLConnect(c1,' testuser ',' test123','testdb')

Kết quả của chương trình trên sẽ như hình dưới đây.

0

Tạo bảng cơ sở dữ liệu

Bước tiếp theo sau khi kết nối với cơ sở dữ liệu là tạo các bảng trong cơ sở dữ liệu của chúng tôi. Ví dụ sau đây cho thấy cách tạo một bảng trong cơ sở dữ liệu bằng Rexx. Tất cả các lệnh trong Rexx SQL được thực thi bằng cách sử dụng hàm SQLCommand.

Cú pháp

SQLConnect(sname,statement)

Thông số

  • sname - Đây là tên để đặt cho câu lệnh để thực thi.

  • statement - Đây là câu lệnh cần được thực thi trên cơ sở dữ liệu.

Giá trị trả lại

Giá trị bằng 0 có nghĩa là lệnh đã thành công.

Thí dụ

/* 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'

Kết quả của chương trình trên sẽ như hình dưới đây.

Connect Succedded 
Changed database to testdb 
Employee table created

Thao tác trên bảng cơ sở dữ liệu

Các loại thao tác sau đây thường được thực hiện nhất trên bảng cơ sở dữ liệu.

Sr.No. Hoạt động Mô tả
1 Chèn hoạt động

Nó được yêu cầu khi bạn muốn tạo bản ghi của mình vào một bảng cơ sở dữ liệu.

2 Đọc hoạt động

Hoạt động ĐỌC trên bất kỳ cơ sở dữ liệu nào có nghĩa là lấy một số thông tin hữu ích từ cơ sở dữ liệu.

3 Cập nhật hoạt động

Thao tác CẬP NHẬT trên bất kỳ cơ sở dữ liệu nào có nghĩa là cập nhật một hoặc nhiều bản ghi đã có sẵn trong cơ sở dữ liệu.

4 Xóa hoạt động

Thao tác DELETE là bắt buộc khi bạn muốn xóa một số bản ghi khỏi cơ sở dữ liệu của mình.

5 Đóng kết nối

Lệnh sau có thể được sử dụng để đóng kết nối với cơ sở dữ liệu.

Thực hiện giao dịch

Giao dịch là một cơ chế đảm bảo tính nhất quán của dữ liệu. Các giao dịch có bốn thuộc tính sau:

  • Atomicity - Giao dịch hoàn tất hoặc không có gì xảy ra.

  • Consistency - Một giao dịch phải bắt đầu ở trạng thái nhất quán và để hệ thống ở trạng thái nhất quán.

  • Isolation - Kết quả trung gian của một giao dịch không được hiển thị bên ngoài giao dịch hiện tại.

  • Durability - Sau khi giao dịch được cam kết, các tác động sẽ tồn tại dai dẳng, ngay cả sau khi hệ thống bị lỗi.

Đây là một ví dụ đơn giản về cách thực hiện các giao dịch.

Thí dụ

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

Kết quả của chương trình trên sẽ như hình dưới đây.

Connect Succedded 
Changed database to testdb 
COMMITTED

Cam kết hoạt động

Hoạt động cam kết là những gì yêu cầu cơ sở dữ liệu tiến hành trước hoạt động và hoàn thành tất cả các thay đổi đối với cơ sở dữ liệu. Trong ví dụ trên của chúng tôi, điều này đạt được bằng lệnh sau.

Sqlcommit()

Thao tác khôi phục

Nếu bạn không hài lòng với một hoặc nhiều thay đổi và bạn muốn hoàn nguyên những thay đổi đó hoàn toàn, thì hãy sử dụng phương pháp khôi phục. Trong ví dụ trên của chúng tôi, điều này đạt được bằng lệnh sau.

SqlRollback()