第一次结识SQLite是在上学期,有一个软工的同学在看有关安卓应用的书籍,正好在实验室碰到了他,他正在看的就是SQLite这个数据库在安卓上的使用。从那以后就再也没有了解过有关SQLite的信息,上星期学长们的CDIO组在做一个游戏,要用到这个数据库,正好我也在这个组里,于是就分配我去学习如何封装这个数据库中的原生态函数,以便于访问数据库。学了一个星期,根据外文网站上的一个例子逐步的去拆解过程函数与变量将其放置在不同的类中,这其中也百度了很多网页,可都是一些不完整的或是未封装的。就想把这一个星期的学习心得分享给大家,于是就有了接下来的博客。写这些心得之前也思考了一下该怎么组织语言能更好的将这个简化的几个类展现在大家面前。
从这几天的学习SQLite来看,应该把用到的最多的也是最简单的一个类先讲,那就是异常类。
SQLite本来提供有关抛出错误的函数:
SQLITE_API int sqlite3_errcode(sqlite3 *db);
SQLITE_API int sqlite3_extended_errcode(sqlite3 *db);
SQLITE_API const char *sqlite3_errmsg(sqlite3*);
SQLITE_API const void *sqlite3_errmsg16(sqlite3*);
头两个是返回操作异常的宏定义,后两个是返回错误的具体代码,他们的参数都是数据库指针对象,这里将其sqlite3*说成是对象是有道理的,因为在后面的使用中,指针就体现出了一个数据库对象的职责与特点。
具体的错误代码宏定义如下:
#define SQLITE_OK 0 /* Successful result */
/* beginning-of-error-codes */
#define SQLITE_ERROR 1 /* SQL error or missing database */
#define SQLITE_INTERNAL 2 /* Internal logic error in