Guest User

test.c

a guest
May 15th, 2015
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.04 KB | None | 0 0
  1.  
  2. #include "sqlite3.h"
  3. #include "sqliteInt.h"
  4. #include "vdbe.h"
  5. #include "vdbeInt.h"
  6. #include "opcodes.h"
  7.  
  8.  
  9. static int callback(void *NotUsed, int argc, char **argv, char **azColName){
  10.    int i;
  11.    for(i=0; i<argc; i++){
  12.       printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  13.    }
  14.    printf("\n");
  15.    return 0;
  16. }
  17.  
  18.  
  19. int main(int argc,char* argv[])
  20. {
  21. sqlite3 *db;
  22. sqlite3_stmt *pStmt=NULL;
  23. char *sql,*zerrmsg=0;
  24. int rc,i;
  25. Vdbe *pVdbe;
  26. const unsigned char *zAns;
  27.  
  28. //open database
  29. rc=sqlite3_open("d.db",&db);
  30. if(rc) {
  31.  fprintf(stderr,"cant open database: %s \n",sqlite3_errmsg(db));
  32.  exit(0);
  33. }
  34.  
  35. sql="drop table student;";
  36. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  37. sql="drop table location;";
  38. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  39.  
  40. //create table
  41. sql="create table student(id int primary key,name text,age int);"\
  42.     "create table location(city text,country text,id int primary key);";
  43.  
  44. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  45.  
  46. //insert values
  47. sql="insert into student values(1,'sai',20);"\
  48.     "insert into student values(2,'ram',25);"\
  49.    
  50.     "insert into location values('new york','usa',1);"\
  51.     "insert into location values('london','uk',2);";
  52.  
  53.  
  54. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  55.  
  56.  if( rc != SQLITE_OK ) {
  57.   fprintf(stderr, "SQL error: %s\n", zerrmsg);
  58.   sqlite3_free(zerrmsg);
  59.  }
  60.   else {
  61.   fprintf(stdout, "Records created successfully\n");
  62.  }
  63.  
  64. sql="select * from student,location;";
  65. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  66.  
  67.  
  68. if(rc != SQLITE_OK){
  69.  fprintf(stderr, "SQL error: %s\n", zerrmsg);
  70.  sqlite3_free(zerrmsg); }
  71.  
  72.  
  73. rc = sqlite3_prepare(db,sql,strlen(sql)+1,&pStmt,NULL);
  74.  
  75.  if(rc != SQLITE_OK) {
  76.   fprintf(stderr, "SQL error: Prepare Err");
  77.   }
  78.  
  79. pVdbe = (Vdbe*)pStmt;
  80.  
  81.   printf("addr opcode           p1  p2   p3 p4            p5       comment\n");
  82.   printf("---- -------------    --  --   -- -----------   --       -------------\n");
  83.    for(i=0;i<pVdbe->nOp;i++) {
  84.    sqlite3VdbePrintOp(stdout,i,&pVdbe->aOp[i]);
  85.  }
  86.  
  87. sqlite3_close(db);
  88. }
Advertisement
Add Comment
Please, Sign In to add comment