SQLite3数据库在嵌入式应用之四:如何导出数据库?给出代码示例
来源:互联网 发布:sql必知必会第四版pdf 编辑:程序博客网 时间:2024/06/06 18:32
翻找SQLite的教程,也没有找到怎么用SQL语句将本地数据库导出来。网上搜了搜,最后发现只能用SQLite 二进制应用程序将数据库导出来。似乎都没有给出如何在代码里集成这个功能。下面详细说下,怎么将这个功能融合到你的代码里,让此功能形成一个接口函数。
1、在SQLite的交叉编译结果中,有个bin文件夹,其中有个二进制应用程序sqlite3,如下图所示:
2、将此sqlite3程序放入你的打包文件,设置环境变量指向这个bin
export PATH=/opt/run_my_app/sqlite3/bin:$PATH
将此句写到app启动脚本里,在初始化时设置好PATH环境变量,否则在代码中直接运行sqlite3是找不到的。
3、命令如何写?
sqlite3 database.db ".output test.csv" ".separator ," "select * from tableName" ".outpu stdout"
sqlite3可导出csv, txt等格式,这里选择导出csv格式。
4、代码示例:
#define TABLE_NAME " TEST "#define EXPORT_FILE "sqlite3 -csv %s \"select ID, NAME, NO FROM "TABLE_NAME" \" > %s"void my_table_export(IN handle handle, IN char *export_file_path){ obj_t *p_obj = handle; char tmp[128] = {0}; FILE* cmdFile = NULL; pthread_mutex_t *lock = NULL; if (NULL == export_file_path || NULL == p_obj) { printf("NULL pointer, error!"); return; } lock = &(p_obj->mux); pthread_mutex_lock(lock); snprintf(tmp, sizeof(tmp), EXPORT_FILE, p_obj->datebase_path, export_file_path); cmdFile = popen(tmp, "r"); pclose(cmdFile); pthread_mutex_unlock(lock);}
要点:1)用锁保护导出的数据;
2)用popen;
完。
0 0
- SQLite3数据库在嵌入式应用之四:如何导出数据库?给出代码示例
- SQLite3数据库在嵌入式应用之三: 以日志功能为例给出常用命令和C/C++常用API
- SQLite3数据库在嵌入式应用之二 :在嵌入式目标板上的验证
- SQLite3数据库在嵌入式应用之一: 在嵌入式linux OS下的交叉编译
- 嵌入式数据库移植Sqlite3
- 嵌入式数据库sqlite3移植
- Sqlite3.0数据库在iPhone中的应用
- 如何在嵌入式产品中应用键值存储数据库
- django之数据库(sqlite3, mongoDB)应用
- 嵌入式数据库SqLite3使用入门
- sqlite3嵌入式数据库的移植
- 嵌入式sqlite3数据库编程介绍
- 如何使用SQLite3数据库
- IOS之【sqlite3数据库】
- 数据库之Sqlite3
- python之数据库sqlite3
- sqlite3数据库之通讯录
- sqlite3数据库之停车场
- PHP上传文件到WebDav
- 苹果safari浏览器不支持location跳转问题
- Android 动画之帧动画
- LeetCode: Search Insert Position
- 图图小机器 android
- SQLite3数据库在嵌入式应用之四:如何导出数据库?给出代码示例
- 机器学习正则化
- CentOS7下安装python-pip
- OpenGL绘制五角星
- 获取表单数据的两种方法(post,get,request)
- 【Phalcon】安装Phalcon(lnmp php7\win xampp)
- 【电子产品】关于指纹考勤机识别率下降
- 数组指针与指针数组的区别
- Unity怎么点击来选中物体、获取物体信息