Rexx - ฐานข้อมูล

Rexx มีความสามารถในการทำงานกับฐานข้อมูลที่หลากหลายซึ่งแสดงไว้ด้านล่าง

  • HSQLDB
  • Oracle
  • เซิร์ฟเวอร์ SQL
  • MySQL
  • MongoDB

ข้อมูลทั้งหมดสำหรับฐานข้อมูล Rexx สามารถพบได้เมื่อคุณคลิกที่ลิงค์ต่อไปนี้ - https://rexxsql.sourceforge.net/

ในตัวอย่างของเราเราจะใช้ MySQL DB เป็นตัวอย่าง ขั้นตอนแรกคือตรวจสอบให้แน่ใจว่าได้ดาวน์โหลดไดรเวอร์ที่จำเป็นจากไซต์ Rexx SQL เพื่อให้โปรแกรม Rexx สามารถทำงานกับ SQL ได้ ดังนั้นทำตามขั้นตอนต่อไปเพื่อให้แน่ใจว่าโปรแกรม Rexx สามารถทำงานกับฐานข้อมูล MySQL ได้

Step 1 - ไปที่หน้าดาวน์โหลดไดรเวอร์ต่อไปนี้จากไซต์ Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - ดาวน์โหลดไดรเวอร์ MYSQL - rxsql26B3_my_w32_ooRexx

Step 3 - คลายซิปเนื้อหาลงในเครื่องท้องถิ่น

Step 4 - เพิ่มเส้นทางของโฟลเดอร์ที่คลายซิปไปยังตัวแปรพา ธ บนเครื่องของคุณ

สำหรับตัวอย่างที่ตามมาทั้งหมดตรวจสอบให้แน่ใจว่ามีตัวชี้ต่อไปนี้ -

  • คุณได้สร้างฐานข้อมูล TESTDB

  • คุณได้สร้างตาราง EMPLOYEE ใน TESTDB

  • ตารางนี้มีฟิลด์ FIRST_NAME, LAST_NAME, AGE, SEX และ INCOME

  • ID ผู้ใช้ "testuser" และรหัสผ่าน "test123" ถูกตั้งค่าให้เข้าถึง TESTDB

  • ตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลดไฟล์ jar mysql และเพิ่มไฟล์ลงใน classpath ของคุณ

  • คุณได้ผ่านการสอน 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 อัปเดตการทำงาน

การดำเนินการ UPDATE บนฐานข้อมูลใด ๆ หมายถึงการอัปเดตระเบียนหนึ่งรายการขึ้นไปซึ่งมีอยู่แล้วในฐานข้อมูล

4 ลบการทำงาน

จำเป็นต้องดำเนินการ DELETE เมื่อคุณต้องการลบบางระเบียนออกจากฐานข้อมูลของคุณ

5 การปิดการเชื่อมต่อ

คำสั่งต่อไปนี้สามารถใช้เพื่อปิดการเชื่อมต่อกับฐานข้อมูล

การทำธุรกรรม

ธุรกรรมเป็นกลไกที่ทำให้ข้อมูลมีความสอดคล้องกัน ธุรกรรมมีคุณสมบัติสี่ประการดังต่อไปนี้ -

  • Atomicity - ไม่ว่าธุรกรรมจะเสร็จสมบูรณ์หรือไม่มีอะไรเกิดขึ้นเลย

  • Consistency - ธุรกรรมต้องเริ่มต้นในสถานะที่สอดคล้องกันและปล่อยให้ระบบอยู่ในสถานะที่สอดคล้องกัน

  • Isolation - ผลลัพธ์ระดับกลางของธุรกรรมจะไม่ปรากฏนอกธุรกรรมปัจจุบัน

  • Durability - เมื่อมีการทำธุรกรรมแล้วผลกระทบจะคงอยู่แม้ระบบจะล้มเหลวก็ตาม

นี่คือตัวอย่างง่ายๆของการใช้ธุรกรรม

ตัวอย่าง

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