sqlite3编译和使用

本文介绍了SQLite数据库的基本概念,包括其特点、广泛应用领域,以及如何在Visual Studio 2019中下载和编译SQLite库,以及提供了一个简单的示例展示了如何使用SQLite进行SQL操作。此外,还涵盖了编译过程中遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

 SQLite 是一个 C 语言库,它实现了一个 小型、 快速、 自包含、 高可靠性、 功能齐全的SQL 数据库引擎。SQLite 是世界上使用最广泛的数据库引擎。SQLite 内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。 更多信息...

SQLite文件格式稳定、跨平台且向后兼容,开发人员承诺在 2050 年保持这种状态。SQLite 数据库文件通常用作在系统之间传输丰富内容的容器 [1] [2] [3] 和数据的长期存档格式 [4]。有超过 1 万亿 (1e12) 个 SQLite 数据库在使用中。SQLite源代码 位于公共领域,每个人都可以免费用于任何目的。

sqlite下载

sqlite3下载地址
(4)编译sqlite
首先,把SQLite编译成动态链接库:
打开Visual Studio 2019,新建一个名为sqlite3的Visual C++ Win32工程,在工程向导页中选择工程的类型为 “DLL”, 并且把创建为空项目的复选框钩上。通过工程—>添加现有项…,把单一文件sqlite3.c添加到工程中。为了生成在链接sqlite3.dll时需要用到的lib文件,需要在工程中添加模块定义文件。根据sqlite3.h中列出的导出函数名
然后,把sqlite3.def文件拷贝到sqlite3工程下
在这里插入图片描述
最后生成sqlite3.dll和sqlite3.lib在这里插入图片描述

添加模块定义文件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
也可以在vs2019中建立一个空项目,编译
在这里插入图片描述
在编译lib时:报错
在这里插入图片描述
解决,可以看出,刚才在编译dll时,已经生成了pdb文件,这时候编译lib时,就产生了冲突,把debug下面的文件全部删除,即可编译成功
在这里插入图片描述

sqlite使用

使用vs2019创建空工程
在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
#include "sqlite3.h"
//#pragma comment(lib, "sqlite3.lib")

/* print a record from table outputed by sql statement */
static int callback(void* NotUsed, int argc, char** argv, char** azColName) {
	int i;
	for (i = 0; i < argc; i++) {
		printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");

	}
	printf("\n");
	return 0;

}

int main(int argc, char** argv) {
	sqlite3* db;
	char* zErrMsg = 0;
	int rc;

	if (argc != 3) {
		fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
		return(1);

	}
	rc = sqlite3_open(argv[1], &db);  /* open database */
	if (rc) {
		fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
		sqlite3_close(db);
		return(1);

	}
	rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);  /* execute SQL statement */
	if (rc != SQLITE_OK) {
		fprintf(stderr, "SQL error: %s\n", zErrMsg);
		sqlite3_free(zErrMsg);

	}
	sqlite3_close(db);  /* close database */
	return 0;

}

工程源码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值