项目原因,需要在VS2005下,C++编写软件调用本地数据库。下面就配置过程进行一下记录。
下载SQlite,编译生成sqlite3.lib
- 下载Window下的sqlite,SQLite Download Page 。我下载的是 sqlite-amalgamation-3120100.zip 和 sqlite-dll-win32-x86-3120100.zip
- 解压如下:
- 上面文章中不包括sqlite3.lib文件,那么下面就来生成这个文件。
(2) 输入cd bin 到含有 lib.exe 所在位置 (3)输入,如图,主意命令路径为sqlite3.def路径
(4)回车,如下图 ,至此已经在路径D:TestSqlite3\lib\下生成了sqlite3.lib文件
VS2005下配置实用sqlite3
- 将解压出来的sqlite3.dll 放置于 VS2005的安装目录的..\bin\下,我的是 C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin
- 在D:\TestSqlite3 建立文件 lib 和inc ,复制文件如图。
- 配置TestSqlite3工程,如图下
- 打开TestSqlite.cpp ,编辑代码如下:
// TestSqlite3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <sqlite3.h>
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;
char *sql;
/* Open database */
rc = sqlite3_open("D:\\sys.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}else{
fprintf(stdout, "Opened database successfully\n");
}
/* Create SQL statement */
sql = "CREATE TABLE COMPANY(" \
"ID INT PRIMARY KEY NOT NULL," \
"NAME TEXT NOT NULL," \
"AGE INT NOT NULL," \
"ADDRESS CHAR(50)," \
"SALARY REAL );";
/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}else{
fprintf(stdout, "Table created successfully\n");
}
sqlite3_close(db);
system("pause");
return 0;
}
- 编译链接,运行程序。在数据库中生成了
如果有问题,欢迎留言评论。