C++封装SQLite实例<二>

本文深入探讨如何利用SQLite库在C++中管理数据库表,重点介绍如何方便地访问和维护表格数据,将表操作转化为数组操作。后续将讨论如何处理查询结果,无论是单条记录还是多条记录。
摘要由CSDN通过智能技术生成

这一篇博客主要讲如何使用SQLite有关库函数去管理数据库中的一张表。

主要用到的函数:

SQLITE_API int sqlite3_get_table
(
  sqlite3 *db,                /* The database on which the SQL executes */
  const char *zSql,           /* The SQL to be executed */
  char ***pazResult,          /* Write the result table here */
  int *pnRow,                 /* Write the number of rows in the result here */
  int *pnColumn,              /* Write the number of columns of result here */
  char **pzErrMsg             /* Write error messages here */
)
比较难理解的是第三个参数,是一个三重指针。pazResult指向的是一个一维指针数组,char*result[Num];在SQLite中所有的字段都是被解释为字符串类型存储的,采用的是UTF8编码方式。并且将一个二维表存储在了一维数组中,就是将一个一维数组分割成了mnRows个段,每一段代表二维表中的一行,一行有mnCols个元素。只要给出确切的行值与列值,就能根据公式算出在一位数组中的索引下标。

class CppSQLite3Table
{
private:
	int mnCurrentRow;
	int mnRows;
	int mnCols;
	char **mpaszResults;

	void CheckResluts();

public:
	CppSQLite3Table();
	CppSQLite3Table(const CppSQLite3Table &rTable);
	CppSQLite3Table(char **paszResults, int nRows, int nCols);
	~CppSQLite3Table();

	CppSQLite3Table&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值