fix for leaks
[csql.git] / test / sqlapi / Select / selecttest6.c
blobefb2cc29545b4aa00f8362be1d548019eb95ed88
1 /* create table T1 with two fields,
2 * insert 10 rows into the table ,
3 * fetch without prepare.
5 * Author : Jitendra Lenka
6 */
8 #include<AbsSqlStatement.h>
9 #include<SqlFactory.h>
10 //#include<Info.h>
11 int main()
13 DbRetVal rv = OK;
14 AbsSqlConnection *con = SqlFactory :: createConnection(CSql);
15 rv = con->connect("root","manager");
16 if(rv!=OK)return 1;
18 AbsSqlStatement *stmt = SqlFactory :: createStatement(CSql);
19 stmt->setConnection(con);
20 char statement[200];
22 strcpy(statement,"CREATE TABLE T1(F1 INT,F2 CHAR(20));");
24 int rows=0;
25 rv = stmt->prepare(statement);
26 if(rv!=OK)
28 delete stmt;
29 delete con;
30 return 1;
33 rv = stmt->execute(rows);
34 if(rv!=OK)
36 delete stmt;
37 delete con;
38 return 2;
40 stmt->free();
41 printf("Table created\n");
43 // insert records
45 strcpy(statement,"INSERT INTO T1 VALUES(?,?);");
47 int f1var = 1;
48 char f2var[24] = "lakshya";
51 rv = stmt->prepare(statement);
52 if(rv!=OK)
54 delete stmt;
55 delete con;
56 return 3;
59 int count=0;
61 for(int i=0;i<2;i++)
64 for(int j=0;j<5;j++)
66 f1var = j;
67 rv = con->beginTrans();
68 if(rv!=OK)break;
71 stmt->setIntParam(1,f1var);
72 stmt->setStringParam(2,f2var);
74 rv = stmt->execute(rows);
75 if(rv!=OK)break;
76 rv = con->commit();
77 if(rv!=OK)break;
78 count++;
80 printf("%d rows inserted\n",count);
82 stmt->free();
84 //*******************************************
86 strcpy(statement,"SELECT * FROM T1;");
87 /*rv = stmt->prepare(statement);
88 if(rv!=OK)
90 delete stmt;
91 delete con;
92 return 1;
93 } */
94 stmt->bindField(1,&f1var);
95 stmt->bindField(2,f2var);
97 void *ret;
98 count = 0;
99 rv = con->beginTrans();
100 if(rv!=OK)return 6;
101 stmt->execute(rows);
105 while(1)
107 ret = ((char*)stmt->fetch());
108 if(ret ==NULL)
111 printf("fetch failed without prepare\n");
112 strcpy(statement,"DROP TABLE T1;");
113 rv = stmt->prepare(statement);
114 rv = stmt->execute(rows);
115 if(rv==OK){printf("Table dropped successfully\n");}
116 stmt->free();
117 delete stmt;
118 delete con;
119 return 0;
121 printf("Test script failed\n");
123 delete stmt;
124 delete con;
125 return 8;