![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sqlite
天之豹_top
天津大学数学系毕业,软件工程师
展开
-
sqlite库学习(12)使用sqliteexpert pro设计数据库表
SQLite Expert Professional是一个功能非常强大的SQLite数据库查看工具。利用它可以非常直观的查看sqlite数据库的内容;有sql命令行,可以执行sql语句。同时它也是一个非常好的sqlite数据库的设计器,可以设置字段特性以及数据库文件的特性。如果我们在程序中创建sqlite数据库,不知道怎样设计其实可以使用它设计,得到DDL语句,放到程序中就可以设计出一个完美的数据库及表了。创建数据库文件File->new Database创建表设计表...原创 2020-05-28 20:11:20 · 821 阅读 · 0 评论 -
sqlite库学习(11)使用sqliteexpert professional打开中文乱码数据库
SQLite数据库管理工具有很多,免费的有sqlitebrowser、SQLite Administrator等,收费的有Navicat for SQLite、SQLiteStudio、SQLiteManager等。本文主要介绍的是sqliteexpert professional,版本3系列,该版本的软件可以通过改变数据库字符,查看有中文乱码的SQLite数据库。一般的数据库管理软件字符编码只有UTF8或者UTF16,sqliteexpert professional 3系列可以使用ANSI(...原创 2020-05-23 08:20:09 · 2230 阅读 · 0 评论 -
sqlite库学习(10)sqlitebrowser的编译
sqlitebrowser(DB Browser for SQLite) 是一款免费开源的跨平台的SQLite数据库查看工具,Window下可以直接下载安装包,Linux下使用命令:sudo apt-get install sqlitebrowser即可安装。sqlitebrowser是开源的,基于QT5开发的。代码质量较高,对于中型软件开发以及提高自己的C++(QT)编码水平,大有裨益。源代码:https://github.com/sqlitebrowser/sqlitebrowser。在w..原创 2020-05-22 20:40:49 · 1347 阅读 · 1 评论 -
sqlite库学习(9) 加密版sqlite库使用
加密版sqlite库编译详见我的另一篇文章《sqlite库学习(2)编译加密版的sqlite》,里面有源码。对sqlite加密,首先需要得到sqlite对象指针,就是先使用sqlite3_open打开或创建数据库文件,然后使用sqlite3_key函数。如果是创建数据库,sqlite3_key就是设置密码;如果是打开数据库,sqlite3_key就是解密。删除数据库的密码,先解密后,设置sqlite3_rekey密码为空即可。int DB_SetKey(sqlite3 *db,const ..原创 2020-05-22 18:58:36 · 361 阅读 · 0 评论 -
sqlite库学习(8)sqlite插入与读取二进制
源码下载:https://download.csdn.net/download/no2101/124282351、插入void DB_Insert_table_student(sqlite3 *db){ int result = -1; sqlite3_stmt *stat = 0; const char *pzTail = NULL; const char *sqls[] = { "insert into S...原创 2020-05-16 20:35:38 · 853 阅读 · 0 评论 -
sqlite库学习(7)sqlite读取
下载地址:https://download.csdn.net/download/no2101/12428235。1、sqlite3_execstatic int select_callback(void *NotUsed, int argc, char **argv, char **azColName) { int i; for (i = 0; i < argc; i++) { printf("%s = %s\n", azColName[i], ar...原创 2020-05-16 20:33:08 · 900 阅读 · 0 评论 -
sqlite库学习(6)sqlite快速插入
1、介绍SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度。例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行query.exec(“insert into DataBase(……) values(……)”);就会打开和关闭文件100万次,所以速度当然会很慢。SQLite数据库是支持事务操作的,于是我们就可以通过事务来提高数据库的读写速度。事务的基本原理是:数据...原创 2020-05-16 09:21:12 · 765 阅读 · 0 评论 -
sqlite库学习(5)sqlite插入
创建数据库和表const char* createTableSQL = " CREATE TABLE TESTTABLE(int_col INT,float_col REAL ,string_col TEXT,ADDRESS char[50])";准备工作 char *zErrMsg = 0; int insertCount =10; const char* insertSQL = "INSERT INTO TESTTABLE(int_col,fl...原创 2020-05-16 08:32:10 · 363 阅读 · 0 评论 -
sqlite库学习(4)sqlite库核心API
1 Int sqlite3_open(const char *filename, sqlite3 **ppDb) 该函数打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。如果filename参数是 NULL 或 ':memory:',那么 sqlite3_open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。 如果文件名 filename 不为 NULL,那...原创 2020-05-16 07:50:14 · 187 阅读 · 0 评论 -
sqlite库学习(3)为什么sqlite3_open会失败
1、现象 我们知道使用sqlite库,使用sqlite3_open打开或创建数据库文件的时,有的时候会失败或者数据库名称就是乱码,这是为什么呢?(1)在linux平台下,系统编码是utf8,很少出现问题。(2)问题主要是windows平台下,如果数据库文件名称或路径有中文,通常会出现错误。其实这是sqlite3_open函数的问题,该函数要求文件名称的参数必须是utf8.SQLITE_API int sqlite3_open( const char *filename,...原创 2020-05-14 19:28:11 · 2353 阅读 · 0 评论 -
Sqlite库学习(2)编译加密版的sqlite
1、wxSqlite介绍 我们在使用mysql等其他数据库时需要输入用户名和密码,但是sqlite数据库就是一个文件,使用navicat、sqlitebrowser等软件就可以直接打开数据库查看,没有一点保护措施。如果在开发中,我们不希望别人知道数据库里面的内容,那么就需要加密版的sqlite库,也就是wxsqlite。实际上wxsqlite不仅包含加密功能,还包含字符转换和用户授权等功能。2、wxSqlite编译成动态库这里用Qt Creator穿件工程,编译得到wxsqlite...原创 2020-05-13 18:42:16 · 539 阅读 · 0 评论 -
sqlite库学习(1)编译sqlite
Sqlite数据库简介 SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。它很小,只有sqlite3.h、sqlite3ext.h、sqlite3.c三个C语言文件。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,我们在开发中除了使用C与C++,还可以把它嵌入到其他开发语言中。同样比起其他数据库软件,若Mysql、P...原创 2020-05-12 20:31:43 · 521 阅读 · 0 评论