SlideShare a Scribd company logo
Ring Documentation, Release 1.6
1.6
33.21 Shutdown() Function
Close the application
Syntax:
shutdown(nStatus) ---> Close the application
33.21. Shutdown() Function 253
CHAPTER
THIRTYFOUR
EVAL() AND DEBUGGING
In this chapter we are going to learn about
‱ Error Handling using Try/Catch/Done
‱ Eval() function
‱ Raise() function
‱ Assert() function
34.1 Try/Catch/Done
Syntax:
Try
Statements...
Catch
Statements...
Done
The statements in the Try block will be executed, if any error happens then the statements in the catch block will be
executed.
Inside the catch block we can use the variable cCatchError to get the error message
Example:
Try
see 5/0
Catch
see "Catch!" + nl + cCatchError
Done
Output:
Catch!
Error (R1) : Cann't divide by zero !
34.2 Eval() Function
We can execute code during the runtime from string using the Eval() function
Syntax:
254
Ring Documentation, Release 1.6
Eval(cCode)
Example:
Eval("nOutput = 5+2*5 " )
See "5+2*5 = " + nOutput + nl
Eval("for x = 1 to 10 see x + nl next")
Eval("func test see 'message from test!' ")
test()
Output:
5+2*5 = 15
1
2
3
4
5
6
7
8
9
10
message from test!
We can use the Return command to return a value
Example:
see Eval("return 5*5")
Output:
25
34.3 Raise() Function
We can raise an exception using the Raise() function
Syntax:
Raise(cErrorMessage)
The function will display the error message then end the execution of the program.
We can use Try/Catch/Done to avoid exceptions generated by raise() function.
Example:
nMode = 10
if nMode < 0 or nMode > 5
raise("Error : nMode not in the range 1:4")
ok
Output:
Line 4 Error : nMode not in the range 1:4
In raise in file testsraise.ring
34.3. Raise() Function 255
Ring Documentation, Release 1.6
Example:
try
testmode(6)
catch
see "avoid raise!"
done
testmode(-1)
func testmode nMode
if nMode < 0 or nMode > 5
raise("Error : nMode not in the range 1:4")
ok
Output:
avoid raise!
Line 12 Error : nMode not in the range 1:4
In raise In function testmode() in file testsraise2.ring
called from line 7 in file testsraise2.ring
34.4 Assert() Function
We can use the Assert() function to test conditions before executing the code
If the test fail the program will be terminated with an error message contains the assert condition.
Syntax:
Assert( condition )
Example:
x = 10
assert( x = 10)
assert( x = 100 )
Output:
Line 3 Assertion Failed!
In assert in file testsassert.ring
34.4. Assert() Function 256
CHAPTER
THIRTYFIVE
DEMO PROGRAMS
In this chapter we will see simple demo programs
‱ Language Shell
‱ Main Menu
35.1 Language Shell
We can create simple interactive programming environment using the next program
while true
see nl + "code:> "
give cCode
try
eval(cCode)
catch
see cCatchError
done
end
Output:
code:> see "hello world"
hello world
code:> for x = 1 to 10 see x + nl next
1
2
3
4
5
6
7
8
9
10
code:> func test see "Hello from test" + nl
code:> test()
Hello from test
code:> bye
257
Ring Documentation, Release 1.6
35.2 Main Menu
Example:
# Demo Program
while true
see "
Main Menu
===========
[1] Say Hello
[2] Sum two numbers
[3] Stars
[4] Fact
[5] Exit
" give nMenu see nl
# we can use Switch-ON-Other-OFF instead of IF-BUT-ELSE-OK
Switch nMenu
On 1 sayhello()
On 2 Sum()
On 3 Stars()
On 4
see "Enter Number : " give x
see "Output : "
Try
see Fact(number(x))
Catch
see "Error in parameters!" + nl
Done
On "5" return
Other see "bad option" + nl
Off
end
func sayhello
see "Enter your name ? " give fname
see "Hello " + fname + nl
func sum
see "number 1 : " give num1 see "number 2 : " give num2
see "Sum : " see 0 + num1 + num2
func stars
for x = 1 to 10
see space(8)
for y = 1 to x see "*" next see nl
next
func fact x if x = 0 return 1 else return x * fact(x-1) ok
35.2. Main Menu 258
Ring Documentation, Release 1.6
func space x y = "" for t=1 to x y += " " next return y
Output:
Main Menu
===========
[1] Say Hello
[2] Sum two numbers
[3] Stars
[4] Fact
[5] Exit
1
Enter your name ? Mahmoud Fayed
Hello Mahmoud Fayed
Main Menu
===========
[1] Say Hello
[2] Sum two numbers
[3] Stars
[4] Fact
[5] Exit
2
number 1 : 3
number 2 : 4
Sum : 7
Main Menu
===========
[1] Say Hello
[2] Sum two numbers
[3] Stars
[4] Fact
[5] Exit
3
*
**
***
****
*****
******
*******
********
*********
**********
Main Menu
===========
[1] Say Hello
[2] Sum two numbers
35.2. Main Menu 259
Ring Documentation, Release 1.6
[3] Stars
[4] Fact
[5] Exit
4
Enter Number : 5
Output : 120
Main Menu
===========
[1] Say Hello
[2] Sum two numbers
[3] Stars
[4] Fact
[5] Exit
5
35.2. Main Menu 260
CHAPTER
THIRTYSIX
ODBC FUNCTIONS
This chapter contains the ODBC functions provided by the Ring programming language.
‱ odbc_init()
‱ odbc_drivers()
‱ odbc_datasources()
‱ odbc_close()
‱ odbc_connect()
‱ odbc_disconnect()
‱ odbc_execute()
‱ odbc_colcount()
‱ odbc_fetch()
‱ odbc_getdata()
‱ odbc_tables()
‱ odbc_columns()
‱ odbc_autocommit()
‱ odbc_commit()
‱ odbc_rollback()
Before using the next function load the odbclib.ring library
load "odbclib.ring"
# Use ODBC functions
36.1 odbc_init() Function
We can create ODBC Handle using the odbc_init() function
Syntax:
odbc_init() ---> ODBC Handle
261
Ring Documentation, Release 1.6
36.2 odbc_drivers() Function
We can get a list of ODBC drivers using the odbc_drivers() function
Syntax:
odbc_drivers(ODBC Handle) ---> List of Drivers
36.3 odbc_datasources() Function
We can get a list of ODBC data sources using the odbc_datasources() function
Syntax:
odbc_datasources(ODBC Handle) ---> List of Data sources
36.4 odbc_close() Function
After the end of using ODBC functions we can free resources using ODBC_Close() function
Syntax:
odbc_close(ODBC Handle)
36.5 Print List of ODBC Drivers
The next example print a list of ODBC drivers.
See "ODBC test 1" + nl
oODBC = odbc_init()
See "Drivers " + nl
see odbc_drivers(oODBC)
odbc_close(oODBC)
Output:
ODBC test 1
Drivers
Microsoft Access-Treiber (*.mdb) - SQLLevel=0
Driver do Microsoft Paradox (*.db ) - SQLLevel=0
Driver do Microsoft Excel(*.xls) - SQLLevel=0
Microsoft Text Driver (*.txt; *.csv) - SQLLevel=0
Driver da Microsoft para arquivos texto (*.txt; *.csv) - SQLLevel=0
Microsoft dBase-Treiber (*.dbf) - SQLLevel=0
SQL Server - CPTimeout=60
Microsoft Excel Driver (*.xls) - SQLLevel=0
Driver do Microsoft dBase (*.dbf) - SQLLevel=0
Microsoft Paradox-Treiber (*.db ) - SQLLevel=0
Microsoft ODBC for Oracle - CPTimeout=120
Microsoft Text-Treiber (*.txt; *.csv) - SQLLevel=0
Microsoft Excel-Treiber (*.xls) - SQLLevel=0
Microsoft Access Driver (*.mdb) - SQLLevel=0
Driver do Microsoft Access (*.mdb) - SQLLevel=0
36.2. odbc_drivers() Function 262

More Related Content

PDF
The Ring programming language version 1.8 book - Part 32 of 202
PDF
The Ring programming language version 1.5.4 book - Part 27 of 185
PDF
The Ring programming language version 1.5.3 book - Part 27 of 184
PDF
The Ring programming language version 1.5.1 book - Part 25 of 180
PDF
The Ring programming language version 1.5 book - Part 5 of 31
PDF
The Ring programming language version 1.9 book - Part 34 of 210
PDF
The Ring programming language version 1.3 book - Part 18 of 88
PDF
The Ring programming language version 1.7 book - Part 30 of 196
The Ring programming language version 1.8 book - Part 32 of 202
The Ring programming language version 1.5.4 book - Part 27 of 185
The Ring programming language version 1.5.3 book - Part 27 of 184
The Ring programming language version 1.5.1 book - Part 25 of 180
The Ring programming language version 1.5 book - Part 5 of 31
The Ring programming language version 1.9 book - Part 34 of 210
The Ring programming language version 1.3 book - Part 18 of 88
The Ring programming language version 1.7 book - Part 30 of 196

What's hot (20)

PDF
The Ring programming language version 1.5.2 book - Part 26 of 181
PDF
The Ring programming language version 1.4 book - Part 7 of 30
PDF
The Ring programming language version 1.2 book - Part 16 of 84
PDF
The Ring programming language version 1.6 book - Part 184 of 189
PDF
The Ring programming language version 1.8 book - Part 31 of 202
PDF
The Ring programming language version 1.7 book - Part 91 of 196
PDF
The Ring programming language version 1.10 book - Part 101 of 212
PDF
The Ring programming language version 1.10 book - Part 35 of 212
PDF
The Ring programming language version 1.2 book - Part 21 of 84
PDF
The Ring programming language version 1.3 book - Part 6 of 88
PDF
The Ring programming language version 1.9 book - Part 33 of 210
PDF
The Ring programming language version 1.5.1 book - Part 9 of 180
PDF
The Ring programming language version 1.6 book - Part 28 of 189
PDF
The Ring programming language version 1.5.1 book - Part 74 of 180
PDF
The Ring programming language version 1.3 book - Part 23 of 88
PPT
Networking Core Concept
PDF
The Ring programming language version 1.5.3 book - Part 26 of 184
PPTX
Unit Testing with Foq
PDF
The Ring programming language version 1.5.2 book - Part 31 of 181
PDF
The Ring programming language version 1.6 book - Part 81 of 189
The Ring programming language version 1.5.2 book - Part 26 of 181
The Ring programming language version 1.4 book - Part 7 of 30
The Ring programming language version 1.2 book - Part 16 of 84
The Ring programming language version 1.6 book - Part 184 of 189
The Ring programming language version 1.8 book - Part 31 of 202
The Ring programming language version 1.7 book - Part 91 of 196
The Ring programming language version 1.10 book - Part 101 of 212
The Ring programming language version 1.10 book - Part 35 of 212
The Ring programming language version 1.2 book - Part 21 of 84
The Ring programming language version 1.3 book - Part 6 of 88
The Ring programming language version 1.9 book - Part 33 of 210
The Ring programming language version 1.5.1 book - Part 9 of 180
The Ring programming language version 1.6 book - Part 28 of 189
The Ring programming language version 1.5.1 book - Part 74 of 180
The Ring programming language version 1.3 book - Part 23 of 88
Networking Core Concept
The Ring programming language version 1.5.3 book - Part 26 of 184
Unit Testing with Foq
The Ring programming language version 1.5.2 book - Part 31 of 181
The Ring programming language version 1.6 book - Part 81 of 189
Ad

Similar to The Ring programming language version 1.6 book - Part 29 of 189 (20)

PDF
The Ring programming language version 1.5.3 book - Part 25 of 184
PDF
The Ring programming language version 1.4.1 book - Part 7 of 31
PDF
The Ring programming language version 1.8 book - Part 30 of 202
PDF
The Ring programming language version 1.6 book - Part 27 of 189
PDF
The Ring programming language version 1.5.2 book - Part 25 of 181
PDF
The Ring programming language version 1.5.4 book - Part 26 of 185
PDF
The Ring programming language version 1.3 book - Part 16 of 88
PDF
The Ring programming language version 1.9 book - Part 27 of 210
PDF
The Ring programming language version 1.10 book - Part 34 of 212
PDF
The Ring programming language version 1.5.2 book - Part 77 of 181
PDF
The Ring programming language version 1.7 book - Part 28 of 196
PDF
The Ring programming language version 1.8 book - Part 29 of 202
PDF
The Ring programming language version 1.2 book - Part 15 of 84
PDF
The Ring programming language version 1.5.1 book - Part 32 of 180
PDF
The Ring programming language version 1.5.4 book - Part 25 of 185
PDF
The Ring programming language version 1.8 book - Part 25 of 202
PDF
The Ring programming language version 1.5.2 book - Part 21 of 181
PDF
The Ring programming language version 1.9 book - Part 31 of 210
PDF
The Ring programming language version 1.5.1 book - Part 24 of 180
PDF
The Ring programming language version 1.3 book - Part 17 of 88
The Ring programming language version 1.5.3 book - Part 25 of 184
The Ring programming language version 1.4.1 book - Part 7 of 31
The Ring programming language version 1.8 book - Part 30 of 202
The Ring programming language version 1.6 book - Part 27 of 189
The Ring programming language version 1.5.2 book - Part 25 of 181
The Ring programming language version 1.5.4 book - Part 26 of 185
The Ring programming language version 1.3 book - Part 16 of 88
The Ring programming language version 1.9 book - Part 27 of 210
The Ring programming language version 1.10 book - Part 34 of 212
The Ring programming language version 1.5.2 book - Part 77 of 181
The Ring programming language version 1.7 book - Part 28 of 196
The Ring programming language version 1.8 book - Part 29 of 202
The Ring programming language version 1.2 book - Part 15 of 84
The Ring programming language version 1.5.1 book - Part 32 of 180
The Ring programming language version 1.5.4 book - Part 25 of 185
The Ring programming language version 1.8 book - Part 25 of 202
The Ring programming language version 1.5.2 book - Part 21 of 181
The Ring programming language version 1.9 book - Part 31 of 210
The Ring programming language version 1.5.1 book - Part 24 of 180
The Ring programming language version 1.3 book - Part 17 of 88
Ad

More from Mahmoud Samir Fayed (20)

PDF
The Ring programming language version 1.10 book - Part 212 of 212
PDF
The Ring programming language version 1.10 book - Part 211 of 212
PDF
The Ring programming language version 1.10 book - Part 210 of 212
PDF
The Ring programming language version 1.10 book - Part 208 of 212
PDF
The Ring programming language version 1.10 book - Part 207 of 212
PDF
The Ring programming language version 1.10 book - Part 205 of 212
PDF
The Ring programming language version 1.10 book - Part 206 of 212
PDF
The Ring programming language version 1.10 book - Part 204 of 212
PDF
The Ring programming language version 1.10 book - Part 203 of 212
PDF
The Ring programming language version 1.10 book - Part 202 of 212
PDF
The Ring programming language version 1.10 book - Part 201 of 212
PDF
The Ring programming language version 1.10 book - Part 200 of 212
PDF
The Ring programming language version 1.10 book - Part 199 of 212
PDF
The Ring programming language version 1.10 book - Part 198 of 212
PDF
The Ring programming language version 1.10 book - Part 197 of 212
PDF
The Ring programming language version 1.10 book - Part 196 of 212
PDF
The Ring programming language version 1.10 book - Part 195 of 212
PDF
The Ring programming language version 1.10 book - Part 194 of 212
PDF
The Ring programming language version 1.10 book - Part 193 of 212
PDF
The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 192 of 212

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Digital Strategies for Manufacturing Companies
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Introduction to Artificial Intelligence
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
history of c programming in notes for students .pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
medical staffing services at VALiNTRY
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
ai tools demonstartion for schools and inter college
PPTX
Transform Your Business with a Software ERP System
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
PTS Company Brochure 2025 (1).pdf.......
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Digital Strategies for Manufacturing Companies
Design an Analysis of Algorithms I-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Introduction to Artificial Intelligence
2025 Textile ERP Trends: SAP, Odoo & Oracle
history of c programming in notes for students .pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
medical staffing services at VALiNTRY
Reimagine Home Health with the Power of Agentic AI​
How Creative Agencies Leverage Project Management Software.pdf
ai tools demonstartion for schools and inter college
Transform Your Business with a Software ERP System
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Which alternative to Crystal Reports is best for small or large businesses.pdf

The Ring programming language version 1.6 book - Part 29 of 189

  • 1. Ring Documentation, Release 1.6 1.6 33.21 Shutdown() Function Close the application Syntax: shutdown(nStatus) ---> Close the application 33.21. Shutdown() Function 253
  • 2. CHAPTER THIRTYFOUR EVAL() AND DEBUGGING In this chapter we are going to learn about ‱ Error Handling using Try/Catch/Done ‱ Eval() function ‱ Raise() function ‱ Assert() function 34.1 Try/Catch/Done Syntax: Try Statements... Catch Statements... Done The statements in the Try block will be executed, if any error happens then the statements in the catch block will be executed. Inside the catch block we can use the variable cCatchError to get the error message Example: Try see 5/0 Catch see "Catch!" + nl + cCatchError Done Output: Catch! Error (R1) : Cann't divide by zero ! 34.2 Eval() Function We can execute code during the runtime from string using the Eval() function Syntax: 254
  • 3. Ring Documentation, Release 1.6 Eval(cCode) Example: Eval("nOutput = 5+2*5 " ) See "5+2*5 = " + nOutput + nl Eval("for x = 1 to 10 see x + nl next") Eval("func test see 'message from test!' ") test() Output: 5+2*5 = 15 1 2 3 4 5 6 7 8 9 10 message from test! We can use the Return command to return a value Example: see Eval("return 5*5") Output: 25 34.3 Raise() Function We can raise an exception using the Raise() function Syntax: Raise(cErrorMessage) The function will display the error message then end the execution of the program. We can use Try/Catch/Done to avoid exceptions generated by raise() function. Example: nMode = 10 if nMode < 0 or nMode > 5 raise("Error : nMode not in the range 1:4") ok Output: Line 4 Error : nMode not in the range 1:4 In raise in file testsraise.ring 34.3. Raise() Function 255
  • 4. Ring Documentation, Release 1.6 Example: try testmode(6) catch see "avoid raise!" done testmode(-1) func testmode nMode if nMode < 0 or nMode > 5 raise("Error : nMode not in the range 1:4") ok Output: avoid raise! Line 12 Error : nMode not in the range 1:4 In raise In function testmode() in file testsraise2.ring called from line 7 in file testsraise2.ring 34.4 Assert() Function We can use the Assert() function to test conditions before executing the code If the test fail the program will be terminated with an error message contains the assert condition. Syntax: Assert( condition ) Example: x = 10 assert( x = 10) assert( x = 100 ) Output: Line 3 Assertion Failed! In assert in file testsassert.ring 34.4. Assert() Function 256
  • 5. CHAPTER THIRTYFIVE DEMO PROGRAMS In this chapter we will see simple demo programs ‱ Language Shell ‱ Main Menu 35.1 Language Shell We can create simple interactive programming environment using the next program while true see nl + "code:> " give cCode try eval(cCode) catch see cCatchError done end Output: code:> see "hello world" hello world code:> for x = 1 to 10 see x + nl next 1 2 3 4 5 6 7 8 9 10 code:> func test see "Hello from test" + nl code:> test() Hello from test code:> bye 257
  • 6. Ring Documentation, Release 1.6 35.2 Main Menu Example: # Demo Program while true see " Main Menu =========== [1] Say Hello [2] Sum two numbers [3] Stars [4] Fact [5] Exit " give nMenu see nl # we can use Switch-ON-Other-OFF instead of IF-BUT-ELSE-OK Switch nMenu On 1 sayhello() On 2 Sum() On 3 Stars() On 4 see "Enter Number : " give x see "Output : " Try see Fact(number(x)) Catch see "Error in parameters!" + nl Done On "5" return Other see "bad option" + nl Off end func sayhello see "Enter your name ? " give fname see "Hello " + fname + nl func sum see "number 1 : " give num1 see "number 2 : " give num2 see "Sum : " see 0 + num1 + num2 func stars for x = 1 to 10 see space(8) for y = 1 to x see "*" next see nl next func fact x if x = 0 return 1 else return x * fact(x-1) ok 35.2. Main Menu 258
  • 7. Ring Documentation, Release 1.6 func space x y = "" for t=1 to x y += " " next return y Output: Main Menu =========== [1] Say Hello [2] Sum two numbers [3] Stars [4] Fact [5] Exit 1 Enter your name ? Mahmoud Fayed Hello Mahmoud Fayed Main Menu =========== [1] Say Hello [2] Sum two numbers [3] Stars [4] Fact [5] Exit 2 number 1 : 3 number 2 : 4 Sum : 7 Main Menu =========== [1] Say Hello [2] Sum two numbers [3] Stars [4] Fact [5] Exit 3 * ** *** **** ***** ****** ******* ******** ********* ********** Main Menu =========== [1] Say Hello [2] Sum two numbers 35.2. Main Menu 259
  • 8. Ring Documentation, Release 1.6 [3] Stars [4] Fact [5] Exit 4 Enter Number : 5 Output : 120 Main Menu =========== [1] Say Hello [2] Sum two numbers [3] Stars [4] Fact [5] Exit 5 35.2. Main Menu 260
  • 9. CHAPTER THIRTYSIX ODBC FUNCTIONS This chapter contains the ODBC functions provided by the Ring programming language. ‱ odbc_init() ‱ odbc_drivers() ‱ odbc_datasources() ‱ odbc_close() ‱ odbc_connect() ‱ odbc_disconnect() ‱ odbc_execute() ‱ odbc_colcount() ‱ odbc_fetch() ‱ odbc_getdata() ‱ odbc_tables() ‱ odbc_columns() ‱ odbc_autocommit() ‱ odbc_commit() ‱ odbc_rollback() Before using the next function load the odbclib.ring library load "odbclib.ring" # Use ODBC functions 36.1 odbc_init() Function We can create ODBC Handle using the odbc_init() function Syntax: odbc_init() ---> ODBC Handle 261
  • 10. Ring Documentation, Release 1.6 36.2 odbc_drivers() Function We can get a list of ODBC drivers using the odbc_drivers() function Syntax: odbc_drivers(ODBC Handle) ---> List of Drivers 36.3 odbc_datasources() Function We can get a list of ODBC data sources using the odbc_datasources() function Syntax: odbc_datasources(ODBC Handle) ---> List of Data sources 36.4 odbc_close() Function After the end of using ODBC functions we can free resources using ODBC_Close() function Syntax: odbc_close(ODBC Handle) 36.5 Print List of ODBC Drivers The next example print a list of ODBC drivers. See "ODBC test 1" + nl oODBC = odbc_init() See "Drivers " + nl see odbc_drivers(oODBC) odbc_close(oODBC) Output: ODBC test 1 Drivers Microsoft Access-Treiber (*.mdb) - SQLLevel=0 Driver do Microsoft Paradox (*.db ) - SQLLevel=0 Driver do Microsoft Excel(*.xls) - SQLLevel=0 Microsoft Text Driver (*.txt; *.csv) - SQLLevel=0 Driver da Microsoft para arquivos texto (*.txt; *.csv) - SQLLevel=0 Microsoft dBase-Treiber (*.dbf) - SQLLevel=0 SQL Server - CPTimeout=60 Microsoft Excel Driver (*.xls) - SQLLevel=0 Driver do Microsoft dBase (*.dbf) - SQLLevel=0 Microsoft Paradox-Treiber (*.db ) - SQLLevel=0 Microsoft ODBC for Oracle - CPTimeout=120 Microsoft Text-Treiber (*.txt; *.csv) - SQLLevel=0 Microsoft Excel-Treiber (*.xls) - SQLLevel=0 Microsoft Access Driver (*.mdb) - SQLLevel=0 Driver do Microsoft Access (*.mdb) - SQLLevel=0 36.2. odbc_drivers() Function 262