SQLite是一款轻量级的本地数据库,支持Windows/Linux/Unix等等主流的操作系统,同时支持很多程序语言,比如 C++、C#、PHP、Java等
本篇主要讲述如何在Windows下编译和使用SQLite数据库。
一、编译准备
1、下载SQLite源代码:选择sqlite-amalgamation-X.zip,后面是版本号
二、编译过程
1、打开VC新建一个 Win32 DLL 空工程,命名为 sqlite3
2、解压sqlite-amalgamation-X.zip,把sqlite3.h、sqlite3ext.h、sqlite3.c添加到工程项目中
5、修改配置,在项目属性,常规下的配置类型,将动态库(.dll)改成静态库(.lib)
6、编译,然后在编译目录中找到sqlite3.lib
三、在项目中使用SQLite
1、新建一个win32 控制台应用程序,命名为sqlitetest
2、把sqlite3.h、sqlite3ext.h复制到工程目录下,并添加到工程项目中
3、把sqlite3.lib复制到工程目录下
4、修改sqlitetest.cpp,代码如下:
#include "stdafx.h"
#include "sqlite3.h"
#pragma comment(lib, "sqlite3.lib")
void print_row(int n_values, char** values)
{
for (int i = 0; i < n_values; ++i)
printf("%10s", values[i]);
printf("\n");
}
int print_result(void* data, int n_columns, char** column_values, char** column_names)
{
static int column_names_printed = 0;
if (column_names_printed++ == 0)
print_row(n_columns, column_names);
print_row(n_columns, column_values);
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
sqlite3 *db = NULL;
char *errMsg = NULL;
int rc = sqlite3_open("test.db", &db);
if( rc )
{
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
getchar();
return 0;
}
else
printf("open test.db successfully!\n");
rc = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL);
rc = sqlite3_exec(db, "CREATE TABLE students(number varchar(10), name varchar(10), "
"sex varchar(6), age varchar(2));", NULL, NULL, NULL);
rc = sqlite3_exec(db, "INSERT INTO students VALUES('00001','Mary','female','15');"
"INSERT INTO students VALUES('00002', 'John', 'male', '16');",
NULL, NULL, &errMsg);
rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='female';",
print_result, NULL, &errMsg);
rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='male';",
print_result, NULL, &errMsg);
rc = sqlite3_exec(db, "COMMIT TRANSACTION;", NULL, NULL, NULL);
printf("error code: %d\n", rc);
printf("error message: %s\n", errMsg);
sqlite3_close(db);
getchar();
return 0;
}
5、编译,正如代码所写,工程目录下会生成test.db数据文件,那么恭喜你,SQLite正常使用了
四、结束语
文章讲述如何在Windows下编译和使用SQLite,编译好的程序会以静态库的形式把SQLite集成到程序中。这样做的好处是SQLite集成到程序中,程序可以单独运行,不用多带一个dll文件,坏处就是程序文件体积会增大,显得臃肿。那么如果以dll的形式加载和使用SQLite,我将在下篇文章中讲述这个问题。
分享到:
相关推荐
本项目“WinForm操作SQLite数据库”旨在演示如何在Windows窗体应用中与SQLite数据库进行交互。下面将详细介绍这个项目中的关键知识点。 1. **WinForm**:WinForm是.NET Framework的一部分,它提供了创建桌面应用...
- **备份与迁移**:加密后的数据库只能在知道密钥的环境下使用,因此在备份或迁移数据库时,必须同时保存密钥。 - **版本兼容性**:不同的SQLite加密库可能不完全兼容,升级或降级时需谨慎,确保新旧环境都能处理...
### VC环境编译使用sqlite数据库全过程详解 #### 一、前言 SQLite 是一款轻量级的嵌入式关系型数据库引擎,广泛应用于各种场景,包括桌面应用和移动设备等。由于其简单易用的特点,SQLite 成为了许多开发者的首选...
在"sqlite数据库加密解密sqlcipher3.0.1.zip"这个压缩包中,"txt.txt"文件可能是关于如何使用SQLCipher的指南或使用示例,它可能会涵盖以下内容: 1. **安装与集成**:指导如何将SQLCipher库集成到你的项目中,可能...
你需要从源代码编译SQLite3,使其适配nwjs的运行环境。以下是编译步骤: 1. **安装编译环境**:确保你的系统已经安装了Node.js,Git,C++编译器(如GCC或Clang)以及Node.js的开发库。对于Linux系统,通常需要`...
总的来说,"sqlite3嵌入式数据库加密"涉及了SQLite3数据库与Qt的集成,使用SQLCipher库来实现数据加密,以及如何在Qt应用程序中创建、管理和测试加密的SQLite3数据库。这个主题对于那些需要在Qt应用中处理敏感数据的...
win10系统编译的sqlcipher执行工具,库,头文件,可加密sqlite数据库; VS2017 x64编译sqlcipher-4.0.1,sqlcipher可执行,如果执行失败,将libcrypto-1_1-x64.dll放在C:\Windows\System32\文件夹下。 库和头文件...
2. **连接SQLite**:使用SQLite的命令行工具或者编程API来连接到SQLite数据库。例如,在命令行中,你可以输入`sqlite3`来启动SQLite shell。在编程环境中,如Python,可以使用`sqlite3`模块建立连接。 3. **创建...
`sqlite-3_7_2.zip`和`sqlitedll-3_7_2.zip`可能是SQLite的不同版本库,前者可能是SQLite的源代码或编译后的库文件,后者可能是Windows平台下的动态链接库文件,用于在Windows环境中调用SQLite功能。 在实际开发中...
SQLite数据库的API可编程性强,提供了C接口,同时也有许多语言的绑定库,如Python的sqlite3模块、Java的SQLiteJDBC等,使得开发者可以方便地在各种编程环境中使用SQLite。此外,SQLite还支持Unicode字符集,能处理...
Sqlite是一款轻量级的、开源的、自包含的数据库管理系统,它不需要独立的服务器进程,可以直接嵌入到各种应用程序中。本篇文章将详细介绍如何配置...通过熟悉这些基本操作,您将能够顺利地配置和使用Sqlite数据库。
1. **安装和集成**:在Windows环境下,你可以找到对应32位和64位的预编译库进行集成。对于开发人员来说,需要将这些库文件添加到项目中,并链接相应的动态库或静态库。 2. **设置数据库密码**:在初始化SQLite...
总结,使用Qt Creator编译SQLite是一种便捷的方式,尤其适用于Qt应用中集成SQLite数据库。通过自定义编译选项,你可以定制SQLite的功能集,以满足特定项目的需求。而Qt Creator的跨平台能力则保证了编译成果能够在多...
4. **安装与使用**:在Windows环境下,用户只需下载并安装sqlitebrowser_200_b1_win文件,按照安装向导完成安装后,即可通过界面启动SQLiteBrowser,连接到SQLite数据库进行操作。 5. **安全性与性能**:尽管SQLite...
在VB6.0中操作安卓系统的SQLite数据库是一个跨平台的技术挑战,因为VB6.0主要设计用于Windows环境,而SQLite是轻量级的关系型数据库,常用于移动设备,如安卓APP。下面将详细介绍如何实现这一目标,以及相关知识点。...
在Windows上,你可以直接下载预编译的可执行文件。配置SQLite主要是通过设置环境变量或启动参数来完成,例如设定缓存大小、日志模式等。 三、数据操作 SQLite支持SQL标准的CRUD操作:创建(Create)、读取(Retrieve)...
1. **独立性**:SQLite数据库文件是自包含的,可以随意复制和移动,无需担心依赖外部组件或数据库服务。 2. **跨平台**:SQLite支持多种操作系统,包括Windows、Linux、macOS等,可以在不同平台上无缝运行。 3. **...