您好我正在尝试将我的c ++应用程序连接到sqlite db.I已经下载并包含了此链接后的sqlite3.dll http://www.forexfactory.com/showthread.php?p=5250053 但我还是得到了
我的代码
#include <iostream>
using namespace std;
#include <sqlite3.h>
int main (int argc, const char * argv[]) {
sqlite3 *db;
sqlite3_open("test.db", & db);
string createQuery = "CREATE TABLE IF NOT EXISTS items (busid INTEGER PRIMARY KEY, ipaddr TEXT, time TEXT NOT NULL DEFAULT (NOW()));";
sqlite3_stmt *createStmt;
cout << "Creating Table Statement" << endl;
sqlite3_prepare_v2(db, createQuery.c_str(), createQuery.size(), &createStmt, NULL);
cout << "Stepping Table Statement" << endl;
if (sqlite3_step(createStmt) != SQLITE_DONE) cout << "Didn't Create Table!" << endl;
string insertQuery = "INSERT INTO items (time, ipaddr) VALUES ('test', '192.168.1.1');"; // WORKS!
sqlite3_stmt *insertStmt;
cout << "Creating Insert Statement" << endl;
sqlite3_prepare(db, insertQuery.c_str(), insertQuery.size(), &insertStmt, NULL);
cout << "Stepping Insert Statement" << endl;
if (sqlite3_step(insertStmt) != SQLITE_DONE) cout << "Didn't Insert Item!" << endl;
cout << "Success!" << endl;
return 0;
}
答案 0 :(得分:0)
尝试使用#include <sqlite3.h>
更改#include "sqlite3.h"
(如果您将该文件与主源文件放在同一文件夹中)。它可能与编译器搜索包含文件的方式有关。有关MS编译器如何搜索包含路径的详细信息,请参阅this description。
答案 1 :(得分:0)
对于Windows,请转到SQLite Download page并下载源文件。然后将它们放在程序包含搜索路径中的某个位置。您可能需要将<sqlite3.h>
更改为"sqlite3.h"
,因为它不是系统包含的。
对于Debian / Ubuntu和衍生产品,您需要安装-dev
包:
sudo apt-get install libsqlite3-dev
我不得不重启Eclipse以使其识别存在的头文件。