| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| |
| EXEC SQL INCLUDE ../regression; |
| |
| int main() { |
| EXEC SQL BEGIN DECLARE SECTION; |
| char str[25]; |
| int i, count=1, loopcount; |
| EXEC SQL END DECLARE SECTION; |
| |
| ECPGdebug(1, stderr); |
| EXEC SQL CONNECT TO REGRESSDB1; |
| |
| EXEC SQL WHENEVER SQLWARNING SQLPRINT; |
| EXEC SQL WHENEVER SQLERROR STOP; |
| |
| EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text ); |
| |
| EXEC SQL INSERT INTO My_Table VALUES ( 1, 'text1'); |
| EXEC SQL INSERT INTO My_Table VALUES ( 2, 'text2'); |
| EXEC SQL INSERT INTO My_Table VALUES ( 3, 'text3'); |
| EXEC SQL INSERT INTO My_Table VALUES ( 4, 'text4'); |
| |
| EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table; |
| |
| EXEC SQL OPEN C; |
| |
| EXEC SQL WHENEVER NOT FOUND DO BREAK; |
| for (loopcount = 0; loopcount < 100; loopcount++) { |
| EXEC SQL FETCH 1 IN C INTO :i, :str; |
| printf("%d: %s\n", i, str); |
| } |
| |
| EXEC SQL WHENEVER NOT FOUND CONTINUE; |
| EXEC SQL MOVE BACKWARD 2 IN C; |
| |
| EXEC SQL FETCH :count IN C INTO :i, :str; |
| printf("%d: %s\n", i, str); |
| |
| EXEC SQL CLOSE C; |
| |
| EXEC SQL DECLARE D CURSOR FOR SELECT * FROM My_Table WHERE Item1 = $1; |
| |
| EXEC SQL OPEN D using 1; |
| |
| EXEC SQL FETCH 1 IN D INTO :i, :str; |
| printf("%d: %s\n", i, str); |
| |
| EXEC SQL CLOSE D; |
| |
| EXEC SQL DROP TABLE My_Table; |
| |
| EXEC SQL DISCONNECT ALL; |
| |
| return 0; |
| } |