在c++中使用SQlite的操作实例
程序员文章站
2022-07-01 19:33:08
1. 生成 .lib 文件
从网上下载sqlite3.dll和sqlite3.def文件,以++6.0为例:
第一步:找到lib.exe所在目录
一般都在x:\program files\micro...
1. 生成 .lib 文件
从网上下载sqlite3.dll和sqlite3.def文件,以++6.0为例:
第一步:找到lib.exe所在目录
一般都在x:\program files\microsoft visual studio\vc98\bin下,在“运行”中输入cmd,然后切换到该目录下
第二步:使用lib命令生成.lib文件
很多网页上都介绍,使用lib /def:sqlite3.def /machine:ix86即可生成,可是我使用它时遇到一些小问题。
这里就不说了,说说应该注意的几点问题吧。第一个,你的sqlite3.def要是没有在 x:\program files\microsoft visual studio\vc98\bin下,需要写全路径;第二,为了清楚起见,你需要注明.lib文件的输出路径。下面我给出一个完整的命令行:x:\program files\microsoft visual studio\vc98\bin>lib /out:d:\test\sqlite3.lib /machine:ix86 /def:d:\test\sqlite3.def,然后在x:\test\e中可以找到sqlite3.lib和sqlite3.exp
如果生成的过程中提示缺少文件,去vc安装目录搜索,复制到lib.exe文件下就行了。
2.在c++中 使用sqlite
#include <iostream> #include <string> using namespace std; #include "sqlite/sqlite3.h" #pragma comment(lib,"sqlite/sqlite3.lib") int main() { sqlite3* db; int nresult = sqlite3_open("test.db",&db); if (nresult != sqlite_ok) { cout<<"打开数据库失败:"<<sqlite3_errmsg(db)<<endl; return 0; } else { cout<<"数据库打开成功"<<endl; } char* errmsg; nresult = sqlite3_exec(db,"create table fuck(id integer primary key autoincrement,name varchar(100))",null,null,&errmsg); if (nresult != sqlite_ok) { sqlite3_close(db); cout<<"创建表失败:"<<sqlite3_errmsg(db)<<endl; return 0; } string strsql; for (int i=0;i<100;i++) { strsql+="insert into fuck values(null,'heh');"; } cout<<strsql<<endl; nresult = sqlite3_exec(db,strsql.c_str(),null,null,&errmsg); if (nresult != sqlite_ok) { sqlite3_close(db); cout<<"插入数据失败:"<<sqlite3_errmsg(db)<<endl; return 0; } return 0; }
推荐阅读
-
solr在java中的使用实例代码
-
在JavaScript中操作数组之map()方法的使用
-
在JavaScript中操作时间之getMonth()方法的使用
-
在JS中操作时间之getUTCMilliseconds()方法的使用
-
在JavaScript中操作时间之getUTCDate()方法的使用
-
Spinner在Dialog中的使用效果实例代码详解
-
在JavaScript中操作时间之getYear()方法的使用教程
-
在JavaScript中操作时间之setYear()方法的使用
-
在Python中操作字符串之replace()方法的使用
-
在c#中使用servicestackredis操作redis的实例代码