如何在VC6下使用sqlite3

KIDx的sqlite3笔记

 

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文件,运行以下代码:

#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;
}

 

  运行结果:



 再次运行由于表已存在,不能再创建,所以出错:



 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值