Guest User

Untitled

a guest
Feb 2nd, 2015
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include "sqlite3.h"
  5. #include "sqliteInt.h"
  6. #include "vdbe.h"
  7. #include "vdbeInt.h"
  8.  
  9. static int callback(void *NotUsed, int argc, char **argv, char **azColName) {
  10. int i;
  11. //printf("callback\n");
  12. for (i = 0; i < argc-1; i++) printf("%s,",argv[i] ? argv[i] : "NULL");
  13. printf("%s.",argv[i] ? argv[i] : "NULL");
  14. printf("\n");
  15. return 0;
  16. }
  17.  
  18. int main(int argc,char* argv[])
  19. {
  20. sqlite3 *db;
  21. sqlite3_stmt *pStmt=NULL;
  22. char *sql,*zerrmsg=0;
  23. int rc;
  24. Vdbe *pVdbe;
  25. int i;
  26.  
  27. //open database
  28. rc=sqlite3_open("tt2.db",&db);
  29. if(rc)
  30. {
  31. fprintf(stderr,"cant open database: %s \n",sqlite3_errmsg(db));
  32. exit(0);
  33. }
  34. sql="drop table em;";
  35. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  36. sql="drop table idv;";
  37. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  38. sql="drop table mny;";
  39. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  40. sql="drop table lo;";
  41. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  42.  
  43. //create table
  44. sql="create table em(name int primary key,age int);"\
  45. "create table idv(id int primary key,name text);"\
  46. "create table mny(id int primary key,sal int);"\
  47. "create table lo(name int primary key,addr text);";
  48.  
  49. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  50. //insert values
  51. sql="insert into em values(44,21);"\
  52. "insert into em values(11,20);"\
  53. "insert into idv values(10,44);"\
  54. "insert into idv values(5,11);"\
  55. "insert into mny values(10,10000);"\
  56. "insert into mny values(6,5000);"\
  57. "insert into lo values(44,'NY');"\
  58. "insert into lo values(11,'che');";
  59.  
  60. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  61. sql="select * from em,idv,mny,lo where em.name=lo.name and idv.id=mny.id";
  62. rc=sqlite3_exec(db,sql,callback,0,&zerrmsg);
  63.  
  64.  
  65. if(rc != SQLITE_OK)
  66. { fprintf(stderr, "SQL error: %s\n", zerrmsg);
  67. sqlite3_free(zerrmsg); }
  68. sqlite3_prepare(db,sql,strlen(sql)+1,&pStmt,NULL);
  69. pVdbe = (Vdbe*)pStmt;
  70.  
  71. for(i=0;i<pVdbe->nOp;i++)
  72. sqlite3VdbePrintOp(stdout,i,&pVdbe->aOp[i]);
  73. sqlite3_close(db);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment