首先是一个简单的应用:
test_sqlite.c
[cpp]
view plain
copy
- #include<stdio.h>
- #include<sqlite3.h>
-
- staticintcallback(void*NotUsed,intargc,87); font-weight:bold; background-color:inherit">char**argv,87); font-weight:bold; background-color:inherit">char**azColName)
- {
- inti;
- for(i=0;i<argc;i++)
- {
- printf("%s=%s/n",azColName[i],argv[i]?argv[i]:"NULL");
- }
- printf("/n");
- return0;
- }
-
- intmain(char**argv)
- sqlite3*db;
- char*zErrMsg=0;
- intrc;
- if(argc!=3)
- fprintf(stderr,"Usage:%sDATABASESQL-STATEMENT/n",argv[0]);
- rc=sqlite3_open(argv[1],&db);
- if(rc)
- fprintf(stderr,"Can'topendatabase:%s/n",sqlite3_errmsg(db));
- sqlite3_close(db);
- rc=sqlite3_exec(db,argv[2],callback,&zErrMsg);
- if(rc!=SQLITE_OK)
- "SQLerror:%s/n",zErrMsg);
- sqlite3_close(db);
- }
编译语句: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"
- intncols,87); font-weight:bold; background-color:inherit">char**values,87); font-weight:bold; background-color:inherit">char**headers)
- inti;
- for(i=0;i<ncols;i++)
- printf("%s=%sn",headers[i],values[i]?values[i]:"NULL");
- printf("n");
- return0;
- voiddoCmd(sqlite3*db,87); font-weight:bold; background-color:inherit">char*pCmd)
- char*errmsg=NULL;
- if(sqlite3_exec(db,pCmd,NULL,&errmsg)!=SQLITE_OK){
- printf("%sn",errmsg);
- return;
- intmain()
- sqlite3*db=NULL;
- printf("PleaseinputthenameofDB(*.db):n");
- chardbname[30];
- gets(dbname);
-
- intresult=sqlite3_open(dbname,&db);
- if(result!=SQLITE_OK){
- return;
- //CreateaTable
- char*createTableSQL=
- "CREATETABLEIFNOTEXISTSPHONETABLE(idintegerprimarykey,nametext,phone_numberinteger)";
- doCmd(db,createTableSQL);
- printf("Succeedtocreatetesttablenow.n");
- //Insert
- char*sql=NULL;
- sql="INSERTintoPHONETABLE(name,phone_number)values('Jone','15901110265')";
- sql="INSERTintoPHONETABLE(name,phone_number)values('Jack','13811907568')";
- doCmd(db,sql);
- "INSERTintoPHONETABLE(name,phone_number)values('Jackson','13811907568')");
- //Show
- printf("Showthetablen");
- sql="SELECT*FROMPHONETABLE";
- intrc=sqlite3_exec(db,sql,&errmsg);
- "SQLerror:%sn",0); background-color:inherit">//Delete
- printf("Delete'Jack'fromtablen");
- sql="DELETEFROMphonetablewherename='Jack'";
- //Change
- printf("AlterJacksontoMike.n");
- sql="updatephonetablesetname='Jack'wherename='Jone'";
- }
这个属于升级版了。操作包括了
1.建立数据库;
2.插入数据;
3.删除数据;
4.修改数据;
5.以及查询数据;
各位看官自己慢慢看吧。
就到这里,后续有新的研究成果在写出来 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|