vs2005生成sqlite3.lib
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所在的当前路径,如:cdC:/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 FilesMicrosoft Visual Studio 8 搜索 MSPDB80 将其copy->C:Program FilesMicrosoft Visual Studio 8VCbin 生成.lib后,建立工程时要删除,要不然编译报错 2. 我生成的 sqlite3.lib sqlite3.exp 下载地址: http://download.csdn.net/source/3545615 3. #include<Stdio.h> //包含SQLite3头文件 #include"sqlite3.h" //连接sqlite3库文件 #pragmacomment(lib,"sqlite3.lib") intmain(intargc,char* argv[] ) { intnRet; sqlite3 *db=NULL; nRet = sqlite3_open("xx.db",&db ); if( 0 != nRet ) { printf("Open db error %sn",sqlite3_errmsg(db)); sqlite3_close( db ); }else { printf("open db successn"); } //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("%sn",sql ); nRet = sqlite3_exec( db,sql,&zErrMsg ); if( 0 != nRet ) { printf("Create table falure,MSG:%sn",zErrMsg); }else { printf("Create table successn"); } //insert data sql ="INSERT INTO "SensorData" VALUES(NULL,1,'200605011206',18.9 );"; nRet = sqlite3_exec( db,&zErrMsg ); if( 0 != nRet ) { printf("Insert Error:%s",zErrMsg); }else { printf("Insert OKn"); } //insert data sql ="INSERT INTO "SensorData" VALUES(NULL,'200605011306',16.4 );"; nRet = sqlite3_exec( db,zErrMsg); }else { printf("Insert OKn"); } //update data sql ="UPDATE SensorData SET SensorParameter=1000.01,SensorID=123 WHERE SensorParameter=100.01"; nRet = sqlite3_exec( db,&zErrMsg ); if( 0 != nRet ) { printf("Update Error:%s",zErrMsg); }else { printf("Update OKn"); } //delete data sql ="DELETE FROM SensorData WHERE SensorID=123"; nRet = sqlite3_exec( db,&zErrMsg ); if( 0 != nRet ) { printf("Delete Error:%s",zErrMsg); }else { printf("Delete OKn"); } //query data intnrow = 0,ncolumn = 0; char**azResult;//二维数组存放結果 sql ="SELECT * FROM SensorData "; sqlite3_get_table( db,&azResult,&nrow,&ncolumn,&zErrMsg ); inti = 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] = %sn",i,azResult[i] ); //释放azResult的內存空間 sqlite3_free_table( azResult ); //关闭数据库 sqlite3_close( db ); return0; }
注:请将您的sqlite3.h、sqlite3.lib、sqlite3.dll放到 你的工程目录下! sqlite3.h ->C:Program FilesMicrosoft Visual Studio 8VCinclude sqlite3.lib ->C:Program FilesMicrosoft Visual Studio 8VClib sqlite3.dll ->C:Program FilesMicrosoft Visual Studio 8VCbin 4. 执行本程序后其输出结果如下: open db success CREATE TABLE SensorData( ID INTEGER PRIMARY KEY,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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |