bool SQLiteDatabaseConnection::saveNode(const RoutingNode &node) { int rc; if(_saveNodeStatement == NULL) { rc = sqlite3_prepare_v2(_db, "INSERT INTO NODES VALUES(@ID, @LAT, @LON, @BUCKETID);", -1, &_saveNodeStatement, NULL); if (rc != SQLITE_OK) { std::cerr << "Failed to create saveNodeStatement." << " Resultcode: " << rc << std::endl; return false; } } // Parameter an das Statement binden sqlite3_bind_int64(_saveNodeStatement, 1, node.getID()); sqlite3_bind_double(_saveNodeStatement, 2, node.getLat()); sqlite3_bind_double(_saveNodeStatement, 3, node.getLon()); sqlite3_bind_int64(_saveNodeStatement, 4, spc->getBucketID(node.getLat(), node.getLon())); // Statement ausfuehren rc = sqlite3_step(_saveNodeStatement); if (rc != SQLITE_DONE) { std::cerr << "Failed to execute saveNodeStatement." << " Resultcode: " << rc << std::endl; return false; } rc = sqlite3_reset(_saveNodeStatement); if(rc != SQLITE_OK) { std::cerr << "Failed to reset saveNodeStatement." << " Resultcode: " << rc << std::endl; } return true; }