1. 程式人生 > >資料庫——資料庫查詢操作(sqlite_get_table)

資料庫——資料庫查詢操作(sqlite_get_table)

#include <stdio.h>
#include <sqlite3.h>

// 直接查詢而不需要回調
// 資料庫查詢操作,無回撥
int main()
{
	sqlite3 *db; //宣告sqlite關鍵結構指標	
	
	// 1、新建資料檔案
	int ret = sqlite3_open("student.db", &db);
	
	if( ret != SQLITE_OK )
	{
		printf ("資料庫開啟失敗\n");
		
		return -1;
	}
	
	// 第一個引數:控制代碼
	
	// 第二個引數:sq1語句
	const char *sq1 = "select * from student";
	
	// 第三個引數:結果寫入該指標指向的char***
	char **value = NULL;
	
	// 第四個引數:行
	int row;
	
	// 第五個引數:列
	int column;
	
	// 第六個引數:錯誤資訊
	char *errmsg;
	
	// 2、在資料庫中新建表
	// int sqlite3_get_table(sqlite3*, const char *sql, char ***resultp, int *nrow, int *ncolumn, char **errmsg );
	ret = sqlite3_get_table(db, sq1, &value, &row, &column, &errmsg );
	
	if( ret != SQLITE_OK )
	{
		printf ("exec1失敗:%s\n", errmsg);
		sqlite3_free(errmsg);
		
		return -1;
	}
	
	int i;
	
	for (i = 0; i < row * column; i++)
	{
		if (row != 0 && i%column == 0)
		{
			printf ("\n");
		}
		
		printf ("%-8s", value[i]);
	}
	
	printf ("\n");
	
	sqlite3_free_table(value);
	sqlite3_close(db);
	
	return 0;
}