Just one more test case.
authorMichael Meskes
Wed, 20 Mar 2002 21:00:24 +0000 (21:00 +0000)
committerMichael Meskes
Wed, 20 Mar 2002 21:00:24 +0000 (21:00 +0000)
src/interfaces/ecpg/test/test1.pgc

index a539c72a9eed4f927c192e6170182babd09a50cd..0c23f240f60edfedc96031ef7716e8131e94e150 100644 (file)
@@ -45,6 +45,7 @@ exec sql begin declare section;
         } ind[AMOUNT];
    char command[128];
    char *connection="pm";
+   int how_many;
 exec sql end declare section;
    exec sql var name is string(AMOUNT);
    char msg[128];
@@ -107,7 +108,7 @@ exec sql end declare section;
         exec sql select * into :name, :amount, :letter from "Test";
 
    printf("Database: mm\n");
-        for (i=0, j=sqlca.sqlerrd[2]; i
+        for (i=0, how_many=j=sqlca.sqlerrd[2]; i
    {
        exec sql begin declare section;
        char n[8], l = letter[i][0];
@@ -125,6 +126,31 @@ exec sql end declare section;
    strcpy(msg, "commit");
    exec sql at pm commit;
 
+   sprintf (command, "select * from \"Test\"");
+
+   exec sql prepare F from :command;
+   exec sql declare CUR cursor for F;
+
+   strcpy(msg, "open");
+   exec sql open CUR;
+
+   strcpy(msg, "fetch");
+        exec sql fetch :how_many in CUR into :name, :amount, :letter;
+
+   printf("Database: mm\n");
+        for (i=0, j=sqlca.sqlerrd[2]; i
+   {
+       exec sql begin declare section;
+       char n[8], l = letter[i][0];
+       int a = amount[i];
+       exec sql end declare section;
+
+       strncpy(n, name[i], 8);
+            printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
+   }
+
+   exec sql close CUR;
+   
         strcpy(msg, "select");
         exec sql at :connection select name, amount, letter into :name, :amount, :letter from "Test";