Line data Source code
1 : #include <stdio.h>
2 : #include <stdlib.h>
3 : #include <string.h>
4 :
5 : EXEC SQL INCLUDE ../regression;
6 :
7 2 : int main() {
8 : EXEC SQL BEGIN DECLARE SECTION;
9 : char str[25];
10 2 : int i, count=1, loopcount;
11 : EXEC SQL END DECLARE SECTION;
12 :
13 2 : ECPGdebug(1, stderr);
14 2 : EXEC SQL CONNECT TO REGRESSDB1;
15 :
16 : EXEC SQL WHENEVER SQLWARNING SQLPRINT;
17 : EXEC SQL WHENEVER SQLERROR STOP;
18 :
19 2 : EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text );
20 2 :
21 2 : EXEC SQL INSERT INTO My_Table VALUES ( 1, 'text1');
22 2 : EXEC SQL INSERT INTO My_Table VALUES ( 2, 'text2');
23 2 : EXEC SQL INSERT INTO My_Table VALUES ( 3, 'text3');
24 2 : EXEC SQL INSERT INTO My_Table VALUES ( 4, 'text4');
25 2 :
26 : EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table;
27 :
28 2 : EXEC SQL OPEN C;
29 2 :
30 : EXEC SQL WHENEVER NOT FOUND DO BREAK;
31 10 : for (loopcount = 0; loopcount < 100; loopcount++) {
32 10 : EXEC SQL FETCH 1 IN C INTO :i, :str;
33 10 : printf("%d: %s\n", i, str);
34 : }
35 :
36 : EXEC SQL WHENEVER NOT FOUND CONTINUE;
37 2 : EXEC SQL MOVE BACKWARD 2 IN C;
38 2 :
39 2 : EXEC SQL FETCH :count IN C INTO :i, :str;
40 2 : printf("%d: %s\n", i, str);
41 :
42 2 : EXEC SQL CLOSE C;
43 2 :
44 : EXEC SQL DECLARE D CURSOR FOR SELECT * FROM My_Table WHERE Item1 = $1;
45 :
46 2 : EXEC SQL OPEN D using 1;
47 2 :
48 2 : EXEC SQL FETCH 1 IN D INTO :i, :str;
49 2 : printf("%d: %s\n", i, str);
50 :
51 2 : EXEC SQL CLOSE D;
52 2 :
53 2 : EXEC SQL DROP TABLE My_Table;
54 2 :
55 2 : EXEC SQL DISCONNECT ALL;
56 2 :
57 2 : return 0;
58 : }
|