1 // create table t1 , insert and update
2 // then rollback. All Should Work Fine
8 AbsSqlConnection
*con
= createConnection();
9 rv
= con
->connect("root","manager");
11 printf("Connection opened\n");
13 AbsSqlStatement
*stmt
= createStatement();
14 stmt
->setConnection(con
);
16 if(strcmp(getenv("DSN"),"oracle")==0)
17 strcpy(statement
,"CREATE TABLE t1(f1 number(9),f2 number(9));");
18 else if(strcmp(getenv("DSN"),"psql")==0)
19 strcpy(statement
,"CREATE TABLE t1(f1 INT,f2 INT) ;");
20 else if(strcmp(getenv("DSN"),"sybase")==0)
21 strcpy(statement
,"CREATE TABLE t1(f1 INT,f2 INT) ;");
22 else if(strcmp(getenv("DSN"),"db2")==0)
23 strcpy(statement
,"CREATE TABLE t1(f1 INT,f2 INT)");
25 strcpy(statement
,"CREATE TABLE t1(f1 INT,f2 INT) engine='innodb';");
28 rv
= stmt
->prepare(statement
);
36 rv
= stmt
->execute(rows
);
45 printf("Table t1 CREATED\n");
47 strcpy(statement
,"INSERT INTO t1 VALUES(1,1);");
48 if(strcmp(getenv("DSN"),"db2")==0){
49 strcpy(statement
,"INSERT INTO t1 VALUES(1,1)");
51 rv
= stmt
->prepare(statement
);
59 rv
= con
->beginTrans();
67 rv
= stmt
->execute(rows
);
74 printf("1 Record inserted\n");
77 strcpy(statement
,"UPDATE t1 SET f2=100;");
78 if(strcmp(getenv("DSN"),"db2")==0){
79 strcpy(statement
,"UPDATE t1 SET f2=100");
82 rv
= stmt
->prepare(statement
);
91 rv
= stmt
->execute(rows
);
92 if(rv
!=OK
&& rows
!=1)return 7;
93 printf("1 Record updated\n");
101 strcpy(statement
,"SELECT f2 FROM t1 ;");
102 if(strcmp(getenv("DSN"),"db2")==0){
103 strcpy(statement
,"SELECT f2 FROM t1");
105 rv
= stmt
->prepare(statement
);
114 stmt
->bindField(1,&id
);
115 rv
= con
->beginTrans();
119 while(stmt
->fetch()!=NULL
)
121 printf("f2= %d\n",id
);
128 printf("Total record fetched =%d ,Because transaction rollbacked\n",count
);
131 strcpy(statement
,"DROP TABLE t1;");
132 if(strcmp(getenv("DSN"),"db2")==0){
133 strcpy(statement
,"DROP TABLE t1");
135 rv
= stmt
->prepare(statement
);
142 rv
= stmt
->execute(rows
);
150 printf("Table droped\n");