2019-06-28 19:25
⁄ 工业·编程
⁄ 共 3236字
1.SQL访问数据库非常方便,只需简单的三个函数:
sqlite3_open(char* szDbFileName, sqlite3 ** db)
sqlite3_exec(sqlite3 *db, char* szSqlCMD, callback, 0, char **zErrMsg)
sqlite3_close(sqlite3 *db)
static int callback(void *NotUsed, int argc, char **argv, char **azColName)
2.sqlite3_exec(),执行SQL命令:
int sqlite3_exec(
sqlite3* db, /* An ope...
SQLite3阅读全文
2019-06-27 15:56
⁄ 工业·编程
⁄ 共 23597字
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
** version 3.14.1. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a single translation
** unit. This allows many compilers to do optimizations that would not be
**...
SQLite3阅读全文
2019-06-26 22:08
⁄ 工业·编程
⁄ 共 11472字
1、概述
Lemon是一个LALR(1)文法分析器生成工具,与bison和yacc类似,是一个可以独立于SQLite使用的开源的分析器生成工具。而且它使用与yacc(bison)不同的语法规则,可以减少编程时出现错误的机会。Lemon比yacc和bison更精致、更快,而且是可重入的,也是线程安全的——这对于支持多线程的程序是非常重要的。
Lemon的主要功能就是根据上下文无关文法(CFG),生成支持该文法的分析器。程序的输入文件有两个:
(1) 语法规则文件;
(2...
SQLite3阅读全文
2019-06-25 22:03
⁄ 工业·编程
⁄ 共 15036字
查询处理及优化是关系数据库得以流行的根本原因,也是关系数据库系统最核心的技术之一。SQLite的查询处理模块很精致,而且很容易移植到不支持SQL的存储引擎(Berkeley DB最新的版本已经将其完整的移植过来)。 查询处理一般来说,包括词法分析、语法分析、语义分析、生成执行计划以及执行计划几个部分。SQLite的词法分析器是手工写的(比较简单),语法分析器由Lemon生成,语义分析主要是进行语义方面的一些检查,比如table...
SQLite3阅读全文
2019-06-24 21:59
⁄ 工业·编程
⁄ 共 18356字
最早的虚拟机可追溯到IBM的VM/370,到上个世纪90年代,在计算机程序设计语言领域又出现一件革命性的事情——Java语言的出现,它与c++最大的不同在于它必须在Java虚拟机上运行。Java虚拟机掀起了虚拟机技术的热潮,随后,Microsoft也不甘落后,雄心勃勃的推出了.Net平台。首先将SQLite虚拟机与Java虚拟机作对比。
1、概述
所谓虚拟机是指对真实计算机资源环境的一个抽象,它为解释性语言程序提供了一套完整的计算机接口。虚拟机...
SQLite3阅读全文
2019-06-23 12:52
⁄ 工业·编程
⁄ 共 10177字
SQLite作为嵌入式数据库,通常针对的应用的数据量相对于DBMS的数据量小。所以它的存储模型设计得非常简单,总的来说,SQLite把一个数据文件分成若干大小相等的页面,然后以B树的形式来组织这些页面。而对于大型的数据库管理系统,比如Oracle,或者DM ,存储模型要复杂得多。就拿Oracle来说吧,它对数据文件不仅从物理上进行分块,而且从逻辑上进行分段,盘区和页的一个层次划分DM也一样。不管怎么说,数据库文件要存储大量的数...
SQLite3阅读全文
2019-06-22 21:49
⁄ 工业·编程
⁄ 共 7248字
1.API
由两部分组成: 核心API(core API)和扩展API(extension API)。
核心API的函数实现基本的数据库操作:连接数据库、处理SQL、遍历结果集。它也包括一些实用函数,比如:字符串转换、操作控制、调试和错误处理。
扩展API通过创建你自定义的SQL函数去扩展SQLite。
1.1、SQLite Version 3的一些新特点
(1)SQLite的API全部重新设计,由第二版的15个函数增加到88个函数。这些函数包括支持UTF-8和UTF-16编码的功能函数。
(2)改进并...
SQLite3阅读全文
2019-06-21 17:16
⁄ 工业·编程
⁄ 共 38812字
事务处理是DBMS中最关键的技术,对SQLite也一样,它涉及到并发控制,以及故障恢复等等。在数据库中使用事务可以保证数据的统一和完整性,同时也可以提高效率。假设需要在一张表内一次插入20个人的名字才算是操作成功,那么在不使用事务的情况下,如果插入过程中出现异常或者在插入过程中出现一些其他数据库操作的话,就很有可能影响了操作的完整性。所以事务可以很好地解决这样的情况,首先事务是可以把启动事务过程中的所有操...
SQLite3阅读全文
2019-06-20 21:12
⁄ 工业·编程
⁄ 共 12585字
一、获取表的Schema信息
1). 动态创建表。
2). 根据sqlite3提供的API,获取表字段的信息,如字段数量以及每个字段的类型。
3). 删除该表。
见以下代码及关键性注释:
#include <sqlite3.h>
#include <string>
using namespace std;
void doTest()
{
sqlite3* conn = NULL;
//1. 打开数据库
int result = sqlite3_open("D:/mytes...
SQLite3阅读全文
2019-06-19 17:43
⁄ 工业·编程
⁄ 共 18346字
使用过程根据函数大致分为如下几个过程:
· sqlite3_open()
· sqlite3_prepare()
· sqlite3_step()
· sqlite3_column()
· sqlite3_finalize()
· sqlite3_close()
这几个过程是概念上的说法,而不完全是程序运行的过程,如sqlite3_column()表示的是对查询获得一行里面的数据的列的各个操作统称,实际上在sqlite中并不存在这个函数。
1.sqlite3_open()
该函数用来打开数据库。在操作数据库之前,首先要打开数据库。这个函数打...
SQLite3阅读全文