到http://www.sqlite.org/download.html下载:
解压后取得sqlite3.h,得到的别文件这里不见面为此到
下载第二单,解压后收获sqlite3.dll和sqlite3.def
下面要开的凡:利用sqlite3.def生成sqlite3.lib
①把sqlite3.def放到VC6的LIB.exe所当目,例如我的VC是作于G盘的:G:\Microsoft
Visual Studio\VC98\Bin
②开始菜单->运行->cmd,打开cmd命令行
(坐下括号里的黑色字体是输入的内容)
③输入(g:)然后回车切换到g盘目录(因为自VC装于g盘)
④输入(cd \Microsoft Visual
Studio\VC98\Bin)然后回车切换至LIB.exe所于目录
⑤输入指令(LIB /MACHINE:IX86
/DEF:sqlite3.def)然后回车,在同目录下便会见变动了sqlite3.lib文件了,当然还充分成了sqlite3.exp,不过此没有因此到
(如果提示丢失mspd60.dll,请到\Microsoft Visual
Studio\Common\MSDev98\Bin目录找到mspd60.dll,然后重新把其复制到\Microsoft
Visual Studio\VC98\Bin目录)
参考截图:
⑥于是VC6初打一个拖欠的控制台工程,把(sqlite3.h、sqlite3.dll、sqlite3.lib)放到工程文件夹里,
挑菜单栏的工程–>设置:在连续的(对象/库模块)后面长sqlite3.lib,然后点确定
⑦以工程里新建一个cpp文件,运行以下代码:
Cpp代码
- #include <iostream>
- #include “sqlite3.h”
- using namespace std;
- int sqlite3_exec_callback (void *data, int nColumn, char **colValues, char **colNames)
- {
- for (int i = 0; i < nColumn; i++)
- printf (“%s\t”, colValues[i]);
- printf (“\n”);
- return 0;
- }
- int main(int argc, char** argv)
- {
- sqlite3 *conn = NULL;
- char *err_msg = NULL;
- char sql[200] = “”;
- //打开数据库,创建连接
- if (sqlite3_open(“data.db”, &conn) != SQLITE_OK) puts (“无法开拓!”);
- //执行SQL,创建表VC6_test
- sprintf (sql, “CREATE TABLE VC6_test \
- (id int, name varchar(20), age int)”);
- if (sqlite3_exec (conn, sql, NULL, NULL, &err_msg) != SQLITE_OK)
- {
- printf (“操作失败,错误代码:%s\n”, err_msg);
- exit(-1);
- }
- //添加10条记录
- for (int i = 0; i < 10; i++)
- {
- //执行SQL
- sprintf (sql, “INSERT INTO VC6_test \
- (id, name, age) VALUES \
- (%d, ‘%s’, %d)”, i, “testPeople”, i);
- if (sqlite3_exec (conn, sql, NULL, NULL, &err_msg) != SQLITE_OK)
- {
- printf (“操作失败,错误代码:%s\n”, err_msg);
- exit(-1);
- }
- }
- //查询
- sprintf (sql, “SELECT * FROM VC6_test”);
- sqlite3_exec (conn, sql, &sqlite3_exec_callback, 0, &err_msg);
- //关闭连接
- if (sqlite3_close(conn) != SQLITE_OK)
- {
- printf (“无法关闭,错误代码:%s\n”, sqlite3_errmsg(conn));
- exit(-1);
- }
- puts (“操作成”);
- return 0;
- }
运行结果:
再也运行由于表已存在,不克更创,所以出错: