fix for leaks
[csql.git] / test / sqlapi / Select / selecttest3.c
bloba763555dfc3707b4c8bdf9b6a11b85803a8d1d86
1 /* create table T1 with two fields,
2 * insert 10 rows into the table ,
3 * select from nonexisting table.
5 * Author : Jitendra Lenka
6 */
8 #include<AbsSqlStatement.h>
9 #include<SqlFactory.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[32] = "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 T11;");
87 rv = stmt->prepare(statement);
89 if(rv !=OK)
91 printf("test script passed\n");
92 strcpy(statement,"DROP TABLE T1;");
93 rv = stmt->prepare(statement);
94 rv = stmt->execute(rows);
95 if(rv==OK){printf("Table dropped\n");}
96 stmt->free();
97 delete stmt;
98 delete con;
99 return 0;
102 else if(rv==OK)
105 printf("Test script failed\n");
106 return 5;
109 else
111 stmt->bindField(1,&f1var);
112 stmt->bindField(2,f2var);
115 count = 0;
116 rv = con->beginTrans();
117 if(rv!=OK)return 6;
118 stmt->execute(rows);
119 while(stmt->fetch()!=NULL)
121 count++;
124 stmt->close();
125 rv = con->commit();
126 if(rv!=OK)
128 delete stmt;
129 delete con;
130 return 7;
133 printf("Total row fetched=%d\n",count);
136 stmt->free();
138 delete stmt;
139 delete con;
140 return 0;