*** empty log message ***
[csql.git] / examples / sqlapi / manSQLAPIinsert.c
blob4bbc91662320ea8435d14f30067277c72b8b2eb3
1 // create table EMP(EID INT,ENAME CHAR(20),SALARY FLOAT)
2 // insert ten rows and EID should starts from 1001.
3 // seletct all rows from the table.
6 #include<SqlFactory.h>
8 int main()
10 DbRetVal rv = OK;
12 AbsSqlConnection *con = SqlFactory::createConnection(CSql);
14 rv = con->connect("root", "manager");
15 if(rv != OK) return 1;
17 AbsSqlStatement *stmt = SqlFactory::createStatement(CSql);
18 stmt->setConnection(con);
19 char statement[200];
21 strcpy(statement, "CREATE TABLE EMP(EID INT,ENAME CHAR(20),SALARY FLOAT);");
23 int rows = 0;
25 rv = stmt->prepare(statement);
26 if(rv != OK) { delete stmt; delete con; return 2; }
28 rv = stmt->execute(rows);
29 if(rv!=OK) { delete stmt; delete con; return 3; }
30 stmt->free();
31 printf("Table Created\n");
33 strcpy(statement,"INSERT INTO EMP VALUES(?,?,?);");
35 int eid = 1000;
36 char ename[20] = "fasd";
37 char ename1[10][20]={"praba", "kishor", "jitu", "biswa", "suman",
38 "arin", "arabi", "sanjit","sanjay", "rajesh" };
39 float salary = 0;
40 int count = 0;
42 rv = stmt->prepare(statement);
43 if(rv!=OK) { delete stmt; delete con; return 4; }
45 rv = con->beginTrans();
46 for(int i = 0; i < 10; i++) {
47 eid++;
48 salary = salary + 1000;
49 strcpy(ename, ename1[i]);
50 stmt->setIntParam(1, eid);
51 stmt->setStringParam(2, ename);
52 stmt->setFloatParam(3, salary);
53 rv = stmt->execute(rows); if(rv != OK) break;
54 count++;
56 con->commit();
57 stmt->free();
59 printf("Total rows Inserted = %d\n", count);
61 //fetching the rows from EMP Table
62 strcpy(statement, "SELECT * FROM EMP;");
63 rv = stmt->prepare(statement);
64 if(rv!=OK) { delete stmt; delete con; return 5; }
66 stmt->bindField(1, &eid);
67 stmt->bindField(2, ename);
68 stmt->bindField(3, &salary);
69 count=0;
71 rv = con->beginTrans(); if(rv != OK) return 6;
72 stmt->execute(rows);
73 printf("\ninserted values are as follows\n");
74 printf("EmpId | name\t| salary\n");
75 printf("--------------------------\n");
76 while (stmt->fetch() != NULL)
77 printf("%d | %s\t| %6.2f\n", eid, ename, salary);
78 rv = con->commit();
79 if(rv != OK) { delete stmt; delete con; return 7; }
80 stmt->close();
81 stmt->free();
82 delete stmt;
83 delete con;
84 return 0;