C+sqlite笔记(2)

在笔记(1)中记录了安装,创建工程,open,create,insert以及批处理一些基本的方法。但忘记说明最重要的select怎么实现的了。本文主要记录一下select的实现方式。

首先我打开之前创建的表students,里面内容有:(当时为了方便,全定义成varchar了)

id: 00001, name: SUE, sex: FAMALE, age: 10
id: 00002, name: SANDY, sex: MALE, age: 11
id: 00003, name: TOMMY, sex: MALE, age: 11
id: 00004, name: SALLY, sex: FAMALE, age: 13
id: 00005, name: SODA, sex: MALE, age: 8
id: 00006, name: MARY, sex: FAMALE, age: 14

void select_table()
{	//初始化
	sqlite3 *db = NULL;
	char *error_msg = NULL;
	int rc = sqlite3_open("test.db", &db);
	if (rc)
		printf("SQL error: %s \n", sqlite3_errmsg(db));
	else
		printf("db is opened \n");
	// select
	sqlite3_stmt *stmt;
	sqlite3_prepare(db, "select * from Students;", -1, &stmt, 0);
	int n_column = sqlite3_column_count(stmt); // 可以获取查询结果有多少列,当然也可以默认自己选择的多少列

	while (sqlite3_step(stmt) == 100) 
    // 100==SQLITE_ROWSQLITE_ROW,表示有数据,每step一次读一行
	{
		const unsigned char* id = sqlite3_column_text(stmt, 0);
		const unsigned char* name = sqlite3_column_text(stmt, 1);
		const unsigned char* sex = sqlite3_column_text(stmt, 2);
		const unsigned char* age = sqlite3_column_text(stmt, 3);
		printf("id: %s, name: %s, sex: %s, age: %s \n", id, name, sex, age);
	}
	sqlite3_finalize(stmt);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值