vs2005生成sqlite3.lib
来源:互联网 发布:淘宝网店怎么起步快 编辑:程序博客网 时间:2024/05/16 14:06
SQLite 下载与SQLite.lib生成
一、SQLite下载
SQLite可以在SQLite 官网http://www.sqlite.org/download.html下载 sqlite-dll-win32-x86-3070600.zip(这个时候发现压缩包里只有dll和def文件。)
二、SQLite.lib生成
1、 将sqlite-dll-win32-x86-3070600.zip 下载到自己的本地电脑上以后,(假设存储地址:E:/test);
2、 打开LIB.EXE所在的目录,VC6.0下的LIB.EXE一般都存放在C:/Program Files/Microsoft Visual Studio/VC98/Bin下;
3、 打开“运行”—>”cmd”进入DOS下,使用CD 更改到LIB.EXE所在的当前路径,如:cd C:/Program Files/Microsoft Visual Studio/VC98/Bin
4、 在DOS下输入LIB /out:E:/test/sqlite3.lib /MACHINE:IX86 /DEF:E:/test/sqlite3.def
5、 回车之后,打开E:/test文件就会发现多了两个文件sqlite3.lib和sqlite3.exp
注:
1.
生成时可能会报错:
在C:\Program Files\Microsoft Visual Studio 8
搜索 MSPDB80
将其copy->C:\Program Files\Microsoft Visual Studio 8\VC\bin
生成.lib后,建立工程时要删除,要不然编译报错
2.
我生成的
sqlite3.lib
sqlite3.exp
下载地址:
http://download.csdn.net/source/3545615
3.
#include <Stdio.h>
//包含SQLite3头文件
#include "sqlite3.h"
//连接sqlite3库文件
#pragma comment(lib,"sqlite3.lib")
int main( int argc, char* argv[] )
{
int nRet;
sqlite3 *db=NULL;
nRet = sqlite3_open( "xx.db", &db );
if ( 0 != nRet )
{
printf("Open db error %s\n", sqlite3_errmsg(db));
sqlite3_close( db );
}else
{
printf( "open db success\n" );
}
//create a table
char *zErrMsg = 0;
char *sql = " CREATE TABLE SensorData( ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTEGER,Time VARCHAR(12),SensorParameter REAL);";
printf( "%s\n", sql );
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )
{
printf("Create table falure, MSG:%s\n", zErrMsg);
}else
{
printf( "Create table success\n" );
}
//insert data
sql = "INSERT INTO \"SensorData\" VALUES(NULL , 1 , 1 , '200605011206', 18.9 );" ;
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )
{
printf("Insert Error:%s", zErrMsg);
}else
{
printf("Insert OK\n");
}
//insert data
sql = "INSERT INTO \"SensorData\" VALUES(NULL , 1 , 1 , '200605011306', 16.4 );" ;
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )
{
printf("Insert Error:%s", zErrMsg);
}else
{
printf("Insert OK\n");
}
//update data
sql = "UPDATE SensorData SET SensorParameter=1000.01,SensorID=123 WHERE SensorParameter=100.01";
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )
{
printf("Update Error:%s", zErrMsg);
}else
{
printf("Update OK\n");
}
//delete data
sql = "DELETE FROM SensorData WHERE SensorID=123";
nRet = sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
if ( 0 != nRet )
{
printf("Delete Error:%s", zErrMsg);
}else
{
printf("Delete OK\n");
}
//query data
int nrow = 0, ncolumn = 0;
char **azResult; //二维数组存放結果
sql = "SELECT * FROM SensorData ";
sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn , &zErrMsg );
int i = 0 ;
printf( "row:%d column=%d \n" , nrow , ncolumn );
printf( "\nThe result of querying is : \n" );
for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )
printf( "azResult[%d] = %s\n", i , azResult[i] );
//释放azResult 的內存空間
sqlite3_free_table( azResult );
//关闭数据库
sqlite3_close( db );
return 0;
}
注:请将您的sqlite3.h、sqlite3.lib、sqlite3.dll放到 你的工程目录下!
sqlite3.h ->C:\Program Files\Microsoft Visual Studio 8\VC\include
sqlite3.lib ->C:\Program Files\Microsoft Visual Studio 8\VC\lib
sqlite3.dll ->C:\Program Files\Microsoft Visual Studio 8\VC\bin
4.
执行本程序后其输出结果如下:
open db success
CREATE TABLE SensorData( ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTEGER,Time VARCHAR(12),SensorParameter REAL);
Create table success
Insert OK
Insert OK
Update OK
Delete OK
row:2 column=5
The result of querying is :
azResult[0] = ID
azResult[1] = SensorID
azResult[2] = SiteNum
azResult[3] = Time
azResult[4] = SensorParameter
azResult[5] = 1
azResult[6] = 1
azResult[7] = 1
azResult[8] = 200605011206
azResult[9] = 18.9
azResult[10] = 2
azResult[11] = 1
azResult[12] = 1
azResult[13] = 200605011306
azResult[14] = 16.4
Press any key to continue
- vs2005生成sqlite3.lib
- sqlite3.lib编译生成
- 生成sqlite3.lib
- 根据sqlite3.def生成sqlite3.lib
- VS2011下生成sqlite3.lib
- sqlite3.lib文件的生成
- 用 sqlite3.dll 和 sqlite3.def 生成 sqlite3.lib
- vs2010编译生成sqlite3.lib库
- VS2010下SQLite3生成lib库文件
- 生成sqlite3.lib for bcb/vc
- VS2010下SQLite3生成lib库文件
- VS2010下SQLite3生成lib库文件
- 生成vs2010可调试的sqlite3.lib
- 根据SQLite3.def文件生成SQLite3.LIB文件
- 使用VS2010编译sqlite3,生成静态的sqlite3.lib
- 根据SQLite3.def文件生成SQLite3.LIB文件
- 使用VS2017静态编译sqlite3,生成静态的sqlite3.lib
- vs2005生成dll与lib文件
- linux下vi编辑器命令大全
- tangwang
- 变量初始化
- 闲聊jpg和rar合并的秘密
- ffmpeg(8) AVIOContext II
- vs2005生成sqlite3.lib
- 删除指定数据库所有表
- 拓扑排序
- 查找二叉树
- SQLite C++操作类
- 杭电2047 阿牛的EOF牛肉串
- 动态规划入门策略—“最长公共子序列”
- 浅析error LNK2001: unresolved external symbol "public: __thisc...
- 从最大似然到EM算法浅解