加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3的使用

发布时间:2020-12-13 00:01:05 所属栏目:百科 来源:网络整理
导读:#include stdio.h #include sqlite3.h #include stdlib.h #define _DEBUG_ int main(void) { sqlite3 *db=NULL;//声明sqlite关键结构指针 char *zErrMsg = 0; int rc; rc = sqlite3_open("/home/xue/db/Person",db); //终端到该目录,shell建表 if(rc!=SQLIT

#include <stdio.h>

#include <sqlite3.h>

#include <stdlib.h>

#define _DEBUG_

int main(void)

{

sqlite3 *db=NULL;//声明sqlite关键结构指针

char *zErrMsg = 0;

int rc;

rc = sqlite3_open("/home/xue/db/Person",&db); //终端到该目录,shell建表

if(rc!=SQLITE_OK){

fprintf(stderr,"Can't open database:%sn",sqlite3_errmsg(db));

sqlite3_close(db);

exit(1);

}

else printf(" successfully!nCongratulation! Have fun!n");

int row=1,column=1;

char **result;

char *sql="select * from Per";

sqlite3_get_table(db,sql,&result,&row,&column,&zErrMsg);

int i=0;

printf("row:%d column:%dn",row,column);

printf("nThe result of querying is:n");

//输出查询的数据

for(i=0;i<(row+1)*column;i++)

printf("result[%d]=%sn",i,result[i]);

sqlite3_free_table(result);//释放result的内存空间

#ifdef _DEBUG_ //如果前面已经定义了_DEBUG_ ,则输出所创建的表存在的信息

printf("zErrMsg=%sn",zErrMsg);//保留错误信息,如为空(null),表明在执行过程中没有错误信息

#endif

sqlite3_close(db);//关闭数据库

return 0;

}

//以上为已调试通过的代码;

#include <stdio.h>

#include <sqlite3.h>

#include <stdlib.h>

#define _DEBUG_

int main(void)

{

sqlite3 *db=NULL;//声明sqlite关键结构指针

char *zErrMsg = 0;

int rc;

//打开或创建一个数据库文件

rc = sqlite3_open("Person",&db); //打开指定的数据库文件,如果不存在,将创建一个同名的数据库文件,需要传入db这个指针的指针,因为sqlite3_open函数要为这,个指针分配内存,好要让db指针指向这个内存区

if(rc!=SQLITE_OK){//或者直接是rc

fprintf(stderr,"Can't open database: %sn",sqlite3_errmsg(db));

sqlite3_close(db);

exit(1);//打开失败,退出

}

else printf("You have opened a sqlite3 database named query.dbsuccessfully!nCongratulation! Have fun!n");

/*//创建一个表

char *sql = "CREATE TABLE SensorData(ID INTEGER PRIMARYKEY,SensorID INTEGER,SiteNum INTEGER,name VARCHAR(12),SensorparamterREAL);";

sqlite3_exec(db,&zErrMsg);

#ifdef _DEBUG_ //如果前面已经定义了_DEBUG_ ,则输出所创建的表存在的信息

printf("%sn",zErrMsg);

#endif

//插入数据

sql="INSERT INTO"SensorData"VALUES(NULL,1,'200708081008',18.9);";//向要表中输入内容

sqlite3_exec(db,&zErrMsg);

sql="INSERTINTO"SensorData"VALUES(NULL,'200708081010',16.4);";

sqlite3_exec(db,&zErrMsg);*/

int row=0,column=0;//用于记录下面结果集中的行数和列数

char **result;//二维数组用于存放结果

//查询数据

char *sql="select * from Per";//查询语句,其在C语言中对应的函数接口是sqlite3_get_table(db,&zErrMsg)

sqlite3_get_table(db,&zErrMsg);//result:以数组的形式存放所要查询的数据,首先是表名,然后才是数据

int i=0;

printf("row:%d column:%dn",表明在执行过程中没有错误信息

#endif

sqlite3_close(db);//关闭数据库

return 0;

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读