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