sqlite开发例子
发布时间:2020-12-12 19:15:26 所属栏目:百科 来源:网络整理
导读:#include stdio.h #include stdlib.h #include "sqlite3.h" #define _DEBUG_ int main(int argc,char**argv) { sqlite3 *db=NULL; int len; int i=0; int nrow=0; int ncolumn = 0; char *zErrMsg =NULL; char **azResult=NULL; //二维数组存放结果 /* 打开
#include <stdio.h> #include <stdlib.h> #include "sqlite3.h" #define _DEBUG_ int main(int argc,char**argv) { sqlite3 *db=NULL; int len; int i=0; int nrow=0; int ncolumn = 0; char *zErrMsg =NULL; char **azResult=NULL; //二维数组存放结果 /* 打开数据库 */ len = sqlite3_open("device_information.db",&db); if( len ) { /* fprintf函数格式化输出错误信息到指定的stderr文件流中 */ fprintf(stderr,"Can't open database: %sn",sqlite3_errmsg(db));//sqlite3_errmsg(db)用以获得数据库打开错误码的英文描述。 sqlite3_close(db); exit(1); } else printf("You have opened a sqlite3 database named user successfully!n"); // ID INTEGER PRIMARY KEY,/* 创建表 */ char *sql = " CREATE TABLE devicelist( netaddr_endpoint VARCHAR(50), deviceid_zonetype VARCHAR(50), ieee VARCHAR(50) );" ; sqlite3_exec(db,sql,NULL,&zErrMsg); #ifdef _DEBUG_ printf("%sn",zErrMsg); sqlite3_free(zErrMsg); #endif char aa[20] = "abc123"; char bb[20] = "ddd"; char cc[20] = "ccc"; char sql4[512] = {0}; /*插入数据 */ char*sql1 ="INSERT INTO 'devicelist'VALUES('abc123','aabbccdd','1234567812345678');"; sqlite3_exec(db,sql1,&zErrMsg); char*sql2 ="INSERT INTO 'devicelist'VALUES('abc163','aabbdcdd','1234567812345978');"; sqlite3_exec(db,sql2,&zErrMsg); char*sql3 ="INSERT INTO 'devicelist'VALUES('abc173','aabaccdd','1234567812366678');"; sqlite3_exec(db,sql3,&zErrMsg); sprintf(sql4,"INSERT INTO devicelist VALUES('%s','%s','%s'); ",aa,bb,cc); sqlite3_exec(db,sql4,&zErrMsg); char*sql5 ="INSERT INTO 'devicelist'VALUES('abc17443','aabac44cdd','123454467812366678');"; sqlite3_exec(db,sql5,&zErrMsg); /* 查询数据 */ // sql="select *from devicelist where netaddr_endpoint = 'abc'"; char sql6[512] = {0}; sprintf(sql6,"select *from devicelist where netaddr_endpoint = '%s';",aa); sqlite3_get_table( db,sql6,&azResult,&nrow,&ncolumn,&zErrMsg ); printf("nrow=%d ncolumn=%dn",nrow,ncolumn); printf("the result is:n"); for(i=0;i<(nrow+1)*ncolumn;i++) { printf("+++azResult[%d]=%s,%dn",i,azResult[i],strlen(azResult[i])); } /* 删除某个特定的数据 */ sql="delete from devicelist where netaddr_endpoint = 'abc123' "; sqlite3_exec( db,&zErrMsg ); #ifdef _DEBUG_ printf("zErrMsg = %s n",zErrMsg); sqlite3_free(zErrMsg); #endif /* 查询删除后的数据 */ sql = "SELECT * FROM devicelist "; sqlite3_get_table( db,&zErrMsg ); printf( "row:%d column=%dn ",ncolumn ); printf( "After deleting,the result is : n" ); for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ ) { printf( "azResult[%d] = %sn",azResult[i] ); } sqlite3_free_table(azResult); #ifdef _DEBUG_ printf("zErrMsg = %s n",zErrMsg); sqlite3_free(zErrMsg); #endif sqlite3_close(db); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- objective-c – iOS – 核心数据模型与Mail Framework冲突?
- iphone – 有人可以发布NSNumber的完整示例用法吗?
- ruby-on-rails – 执行db:seed任务以进行开发
- React生成无序列表
- objective-c – UITableViewCell不会突出显示
- c# – 在后台运行任务,但在ASP MVC Web应用程序中返回对客户
- [Unity3D]使用link.xml来控制strippinglevel减少dll库大小技
- jsoncpp 处理包含数组的JSON数据
- ruby-on-rails – 使用Simple_Form对齐f.collection_check_
- c# – 一台PC可以访问多少个USB摄像头