core reorg
[csql.git] / test / sqlgw / Select / selecttest7.c
blob676cdc6bdd6f52b3b997da2edb5a56964a3cc9f3
1 /* create table t1 with two fields,
2 * insert 10 rows into the table ,
3 * call fetch without call execute,it returns NULL.
4 */
6 #include "common.h"
7 int main()
9 DbRetVal rv = OK;
10 AbsSqlConnection *con = createConnection();
11 rv = con->connect("root","manager");
12 if(rv!=OK)return 1;
14 AbsSqlStatement *stmt = createStatement();
15 stmt->setConnection(con);
16 char statement[200];
18 int rows=0;
20 // insert records
22 strcpy(statement,"INSERT INTO t1 VALUES(?,?);");
23 if(strcmp(getenv("DSN"),"db2")==0)
24 strcpy(statement,"INSERT INTO t1 VALUES(?,?)");
26 int f1var = 1;
27 char f2var[20] = "lakshya";
29 rv = stmt->prepare(statement);
30 if(rv!=OK) {
31 delete stmt;
32 delete con;
33 return 3;
36 int count=0;
38 for(int i=0;i<2;i++) {
39 for(int j=0;j<5;j++) {
40 f1var = j;
41 rv = con->beginTrans();
42 if(rv!=OK)break;
43 stmt->setIntParam(1,f1var);
44 stmt->setStringParam(2,f2var);
45 rv = stmt->execute(rows);
46 if(rv!=OK)break;
47 rv = con->commit();
48 if(rv!=OK)break;
49 count++;
51 printf("%d rows inserted\n",count);
53 stmt->free();
55 //*******************************************
57 strcpy(statement,"SELECT * FROM t1;");
58 if(strcmp(getenv("DSN"),"db2")==0)
59 strcpy(statement,"SELECT * FROM t1");
60 rv = stmt->prepare(statement);
61 if(rv !=OK) { delete stmt; delete con; return 4; }
62 stmt->bindField(1,&f1var);
63 stmt->bindField(2,f2var);
65 void *ret;
66 count = 0;
67 rv = con->beginTrans();
68 if(rv!=OK)return 5;
69 //stmt->execute(rows);
70 while(1) {
71 ret = ((char*)stmt->fetch(rv));
72 if(ret==NULL && rv == ErrNotOpen) {
73 printf("Fetch failed without execute.\n");
74 printf("Test script passed.\n");
75 delete stmt;
76 delete con;
77 return 0;
79 printf("Test script failed\n");
81 stmt->free();
82 con->commit();
83 delete stmt;
84 delete con;
85 return 7;