1、 下载sqlite文件。
下载网址: http://www.sqlite.org/download.html 。SQLite版本为SQLite 3.8.2 ,相关文件如下。
sqlite-dll-win32-x86-3080200.zip:包含sqlite3.def、sqlite3.dll文件。
sqlite-amalgamation-3080200.zip:包含sqlite3.h 文件。
sqlite-shell-win32-x86-3080200.zip:包含sqlite3.exe 文件。
2、 生成sqlite3.lib。
用ref文件和dll文件生成lib文件
命令行输入:
lib /def:sqlite3.def /machine:ix86
3、 创建测试数据。
用sqlite3.exe 创建一个测试文件test.db
- D:\sqlite>sqlite3.exe test.db
- SQLite version 3.8.2 2013-12-06 14:53:30
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> create table user
- ...> (
- ...> id integer primary key autoincrement,
- ...> name varchar(64),
- ...> age integer
- ...> );
- sqlite> .quit
4、 创建示例工程
创建win32控制台工程SQLiteTest
sqlite3.h添加到工程
sqlite3.lib复制到工程文件夹下工程属性中添加sqlite3.lib库依赖 或者 代码实现: #pragma comment (lib, "lib/sqlite3.lib")
程序代码为:
#include "stdafx.h"
#include "ssqlite3.h"
#include <iostream>
using namespace std;
sqlite3 * pDB = NULL;
//#pragma comment (lib, "lib/sqlite3.lib")
//#pragma comment (lib, "lib/sqlite3.lib")
int _tmain(int argc, _TCHAR* argv[])
{
int nRes = sqlite3_open("D:\\sqlite\\test.db", &pDB);
if (nRes != SQLITE_OK)
{
cout<<"Open database fail: "<<sqlite3_errmsg(pDB);
}
//基本插入
//基本查询
//基本插入
string strSql = "";
strSql += "insert into user(name,age)";
strSql += "values('";
strSql += nsf;
strSql += "',";
strSql += 25;
strSql += ");";
char* cErrMsg;
int nRes = sqlite3_exec(pDB , strSql.c_str() ,0 ,0, &cErrMsg);
//基本查询
nRes = sqlite3_exec(pDB, "select * from user;", UserResult , 0 , &cErrMsg);
sqlite3_close(pDB);
getchar();
return 0;
}
//注意 UserResult(...) 这个函数
编译成功后,将sqlite3.dll复制到SQLiteTest.exe同一目录下,运行SQLiteTest.exe
运行结果:
id = 1, name = nsf, age = 25,
static int UserResult(void *NotUsed, int argc, char **argv, char **azColName)
{
for(int i = 0 ; i < argc ; i++)
{
cout<<azColName[i]<<" = "<<(argv[i] ? argv[i] : "NULL")<<", ";
}
cout<<endl;
return 0;
}
//注意 UserResult(...) 这个函数
编译成功后,将sqlite3.dll复制到SQLiteTest.exe同一目录下,运行SQLiteTest.exe
运行结果:
id = 1, name = nsf, age = 25,