SQLite3的API简单应用

前端之家收集整理的这篇文章主要介绍了SQLite3的API简单应用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先是一个简单的应用:

test_sqlite.c

  1. #include<stdio.h>
  2. #include<sqlite3.h>
  3. staticintcallback(void*NotUsed,intargc,87); font-weight:bold; background-color:inherit">char**argv,87); font-weight:bold; background-color:inherit">char**azColName)
  4. {
  5. inti;
  6. for(i=0;i<argc;i++)
  7. {
  8. printf("%s=%s/n",azColName[i],argv[i]?argv[i]:"NULL");
  9. }
  10. printf("/n");
  11. return0;
  12. }
  13. intmain(char**argv)
  14. sqlite3*db;
  15. char*zErrMsg=0;
  16. intrc;
  17. if(argc!=3)
  18. fprintf(stderr,"Usage:%sDATABASEsql-STATEMENT/n",argv[0]);
  19. rc=sqlite3_open(argv[1],&db);
  20. if(rc)
  21. fprintf(stderr,"Can'topendatabase:%s/n",sqlite3_errmsg(db));
  22. sqlite3_close(db);
  23. rc=sqlite3_exec(db,argv[2],callback,&zErrMsg);
  24. if(rc!=sqlITE_OK)
  25. "sqlerror:%s/n",zErrMsg);
  26. sqlite3_close(db);
  27. }
编译语句:arm-linux-gcc -o test_sqlite test_sqlite.c -lsqlite3 -L/home/bks/sqlite3/lib -I/home/bks/sqlite3/include

需要加入lib和include的路径。

编译完成后使用语句:./test_sqlite test.db "SELECT * FROM phonetable"

这里需要注意的是:我之前在当前目录文件夹下建立了名字:test.db 的数据库,其中包含表格:phonetable

现在是一个高级运用啦:

copy

    #include"sqlite3.h"
  1. intncols,87); font-weight:bold; background-color:inherit">char**values,87); font-weight:bold; background-color:inherit">char**headers)
  2. inti;
  3. for(i=0;i<ncols;i++)
  4. printf("%s=%s\n",headers[i],values[i]?values[i]:"NULL");
  5. printf("\n");
  6. return0;
  7. voiddoCmd(sqlite3*db,87); font-weight:bold; background-color:inherit">char*pCmd)
  8. char*errmsg=NULL;
  9. if(sqlite3_exec(db,pCmd,NULL,&errmsg)!=sqlITE_OK){
  10. printf("%s\n",errmsg);
  11. return;
  12. intmain()
  13. sqlite3*db=NULL;
  14. printf("PleaseinputthenameofDB(*.db):\n");
  15. chardbname[30];
  16. gets(dbname);
  17. //OpenaDB
  18. intresult=sqlite3_open(dbname,&db);
  19. if(result!=sqlITE_OK){
  20. return;
  21. //CreateaTable
  22. char*createTablesql=
  23. "CREATETABLEIFNOTEXISTSPHONETABLE(idintegerprimarykey,nametext,phone_numberinteger)";
  24. doCmd(db,createTablesql);
  25. printf("Succeedtocreatetesttablenow.\n");
  26. //Insert
  27. char*sql=NULL;
  28. sql="INSERTintoPHONETABLE(name,phone_number)values('Jone','15901110265')";
  29. sql);
  30. sql="INSERTintoPHONETABLE(name,phone_number)values('Jack','13811907568')";
  31. doCmd(db,sql);
  32. "INSERTintoPHONETABLE(name,phone_number)values('Jackson','13811907568')");
  33. //Show
  34. printf("Showthetable\n");
  35. sql="SELECT*FROMPHONETABLE";
  36. intrc=sqlite3_exec(db,sql,&errmsg);
  37. "sqlerror:%s\n",0); background-color:inherit">//Delete
  38. printf("Delete'Jack'fromtable\n");
  39. sql="DELETEFROMphonetablewherename='Jack'";
  40. //Change
  41. printf("AlterJacksontoMike.\n");
  42. sql="updatephonetablesetname='Jack'wherename='Jone'";
  43. }

这个属于升级版了。操作包括

1.建立数据库

2.插入数据;

3.删除数据;

4.修改数据;

5.以及查询数据;

各位看官自己慢慢看吧。

就到这里,后续有新的研究成果在写出来

猜你在找的Sqlite相关文章