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