Advertisement
Guest User

SQlite Insert binding

a guest
Dec 9th, 2014
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <sqlite3.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. static int callback(void *NotUsed, int argc, char **argv, char **azColName) {
  7.     int i;
  8.     printf("\n callback");
  9.     for (i = 0; i < argc; i++) {
  10.         printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  11.     }
  12.     printf("\n");
  13.     return 0;
  14. }
  15.  
  16. int main() {
  17.  
  18.    int rc;
  19.    char *pStrSql,*zErrMsg;
  20.    sqlite3 *db;
  21.    sqlite3_stmt *pInsertStmt;
  22.  
  23.    int iAge;
  24.    char *pStrName;
  25.  
  26.    const char **pzTail;
  27.  
  28.  
  29.    rc = sqlite3_open("test.db", &db);
  30.     if (rc) {
  31.         fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
  32.         exit(0);
  33.     } else {
  34.         fprintf(stdout, "Opened database successfully\n");
  35.     }
  36.    
  37.    
  38.  
  39.     pStrSql = "DROP TABLE employee";
  40.     rc = sqlite3_exec(db, pStrSql, callback, 0, &zErrMsg);
  41.  
  42.     pStrSql = "CREATE TABLE employee (name text,age int);";
  43.    
  44.     rc = sqlite3_exec(db, pStrSql, callback, 0, &zErrMsg);
  45.     if (rc != SQLITE_OK) {
  46.         fprintf(stderr, "SQL error: %s\n", zErrMsg);
  47.         sqlite3_free(zErrMsg);
  48.     } else {
  49.        printf("Table created successfully\n");
  50.     }
  51.  
  52.  
  53.     pStrSql = "INSERT INTO employee (name,age) values (?,?)";
  54.    
  55.     rc = sqlite3_prepare_v2(db,pStrSql,-1,&pInsertStmt,NULL);
  56.     if( rc != SQLITE_OK) {
  57.         printf("\n Cant prepare Error %s :",sqlite3_errmsg(db));
  58.         exit(0);
  59.     }
  60.  
  61.     pStrName = "Prakash Premkumar";
  62.     rc = sqlite3_bind_text(pInsertStmt,1,pStrName,-1,SQLITE_TRANSIENT);
  63.      if( rc != SQLITE_OK) {
  64.         printf("\n Cant bind text Error %s :",sqlite3_errmsg(db));
  65.         exit(0);
  66.     }
  67.     iAge = 23;
  68.     rc = sqlite3_bind_int(pInsertStmt,2,iAge);
  69.      if( rc != SQLITE_OK) {
  70.         printf("\n Cant bind int Error %s :",sqlite3_errmsg(db));
  71.         exit(0);
  72.     }
  73.  
  74.     rc = sqlite3_step(pInsertStmt);
  75.     if( rc != SQLITE_OK) {
  76.         printf("\n Cant execute insert Error %s :",sqlite3_errmsg(db));
  77.         exit(0);
  78.     }
  79.  
  80.     sqlite3_clear_bindings(pInsertStmt);
  81.     sqlite3_reset(pInsertStmt);
  82.     sqlite3_finalize(pInsertStmt);
  83.  
  84.     pStrSql = "select * from employee";
  85.  
  86.     rc = sqlite3_exec(db, pStrSql, callback, 0, &zErrMsg);
  87.     if (rc != SQLITE_OK) {
  88.         fprintf(stderr, "SQL error: %s\n", zErrMsg);
  89.         sqlite3_free(zErrMsg);
  90.     }
  91.  
  92.     sqlite3_close(db);
  93.  
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement