bool DatabaseStorage::createTable() { mysqlpp::Connection con; if (!connectToDatabase(con)) return false; try { mysqlpp::Query query = con.query(); std::cout << "Creating Store table... "; query << "CREATE TABLE Store (" << " file CHAR(30) NOT NULL, " << " variable CHAR(30) NOT NULL, " << " data BLOB NOT NULL, " << " nrows INT NOT NULL, " << " ncols INT NOT NULL, " << " description MEDIUMTEXT NULL)"; query.execute(); } catch( std::exception& er) { std::cerr << "Query error: " << er.what() << std::endl; return false; } std::cout << "Succeeded!\n"; return true; }
/** Loads the region data */ void cwRegionLoadTask::runTask() { //Clear region bool connected = connectToDatabase("loadRegionTask"); if(connected) { //This makes sure that sqlite is clean up after it self insureVacuuming(); //Try loading Proto Buffer bool success = loadFromProtoBuffer(); // if(!success) { // qDebug() << "Warning loading from XML serialization!" << LOCATION; // success = loadFromBoostSerialization(); // } if(!success) { qDebug() << "Couldn't load from any format!"; stop(); } } if(isRunning()) { emit finishedLoading(); } done(); }
void Database::initDatabase() { if(checkDatabaseFileExistance()){ connectToDatabase(); qDebug() << "Database " + DATABASE_NAME + " is open!"; } else{ qDebug() << "Database file: " + DATABASE_NAME + "is missing!"; } }
void cwRemoveImageTask::runTask() { //Connect to the database bool connected = connectToDatabase("RemoveImagesTask"); if(connected) { //Try to add the ImagePaths to the database tryToRemoveImages(); //Close the database Database.close(); } done(); }
void DatabaseStorage::write(SerializableObject<T>& object) { std::stringstream ss; int nr, nc; nr = nc = 0; if (typeid(arma::mat) == typeid(object.variable_) || typeid(arma::umat) == typeid(object.variable_)) { nr = object.variable_.n_rows; nc = object.variable_.n_cols; } else { nr = nc = 1; } ss << object.variable_; if (!existTable()) return; mysqlpp::Connection con; if (!connectToDatabase(con)) return; try { mysqlpp::Query query = con.query(); query << "INSERT INTO Store (file, variable, data, nrows, ncols) VALUES(\"" << object.fileName_ << "\", \"" << object.variableName_ << "\", \"" << mysqlpp::escape << ss.str() << "\", " << nr << ", " << nc << ")"; mysqlpp::SimpleResult res = query.execute(); } catch (const mysqlpp::BadQuery& er) { std::cerr << "Query error: " << er.what() << std::endl; return; } catch(const std::exception& er) { // Catch-all for any other MySQL++ exceptions std::cerr << "Error: " << er.what() << std::endl; return; } }
/* * * init function creates database with specified name and makes a connection * which is stored in private variable mysqlpp::Connection connection_ * * Second phase is to parse given file and store found data: nodes, lines, surfaces and recorded data * into that database. * */ bool DatabaseStorage::init(const string& file) { if (file.empty()) { std::cerr << "DatabaseStorage::init --\n"; std::cerr << "File: is empty\n"; return false; } // TODO: repository? argument "file" is not needed. string repository = Oi::stripToFileName(file); if (repository.empty()) { std::cerr << "DatabaseStorage::init --\n"; std::cerr << "Bad file name: " << file << "\n"; return false; } mysqlpp::Connection con; // noexception is needed not to throw exception when such database exist. mysqlpp::NoExceptions ne(con); // try to create database and table if (!connectToDatabase(con)) { std::cout << "Database: " << DATABASE << " do not exist. Creating new one!\n"; if (!con.create_db(DATABASE)) { std::cerr << "Error creating database: " << con.error() << std::endl; return false; } if(!createTable()) { std::cerr << "Error creating table: Store.\n"; return false; } } if (!existTable()) createTable(); return true; }
bool reConnectToDatabase(QSqlError lasterror, QString SQLquery, QString callingfunction) { vvimDebug() << callingfunction << QObject::tr("Cannot execute query. DB lost? Try to reconnect!") << lasterror.text(); if(!connectToDatabase()) { QString textforlogfile = QString(QObject::tr("Something went wrong, could not reconnect to execute query: %1 error %2").arg(SQLquery).arg(lasterror.text())); vvimDebug() << callingfunction << "FATAL:" << textforlogfile ; qFatal((textforlogfile).toStdString().c_str()); return false; } else { vvimDebug() << callingfunction << QObject::tr("Reconnection successful!"); return true; } }
void first4server::readConfiguration() { QDomDocument dbs("databases"); QFile file ( "/etc/first4server/databases.conf" ); if (file.open(QIODevice::ReadOnly)) { dbs.setContent(file.readAll()); file.close(); } else qDebug() << "Can't read database file"; QDomElement db = dbs.documentElement(); QDomNodeList nlist = db.elementsByTagName("Database"); if(nlist.size() > 0) { QDomElement e = nlist.at(0).toElement(); if(!e.isNull()) connectToDatabase(e.attribute("Host"), e.attribute("Port").toInt(), e.attribute("DBName"), e.attribute("User"), e.attribute("Password")); } }
void NepomukService::enableSyncToDigikam(bool syncToDigikam) { // Controls syncing Nepomuk -> Digikam. // Called from readConfig or via DBus (from DigikamApp) kDebug() << "Sync to digikam enabled: " << syncToDigikam; if (d->syncToDigikam == syncToDigikam) { return; } d->syncToDigikam = syncToDigikam; if (!d->isConnected) { connectToDatabase(databaseParameters()); } if (!d->isConnected) { return; } if (d->syncToDigikam) { connect(mainModel(), SIGNAL(statementAdded(const Soprano::Statement&)), this, SLOT(slotStatementAdded(const Soprano::Statement&))); connect(mainModel(), SIGNAL(statementRemoved(const Soprano::Statement&)), this, SLOT(slotStatementRemoved(const Soprano::Statement&))); /*connect(DatabaseAccess::databaseWatch(), SIGNAL(collectionImageChange(const CollectionImageChangeset &)), this, SLOT(slotCollectionImageChange(const CollectionImageChangeset &)));*/ if (lastSyncToDigikam().isNull()) { d->triggerSyncToDigikam(); } }
void Register::on_register_registerPushButton_clicked() { QString lastName = ui->register_lnameLineEdit->text(); QString firstName = ui->register_fnameLineEdit->text(); QString email = ui->register_emailLineEdit->text(); QString username = ui->register_usernameLineEdit->text(); QString password = ui->register_pwdLineEdit->text(); QString verifyPwd = ui->register_verifypwdLineEdit->text(); if(password==verifyPwd) { if(connectToDatabase()) { if(checkUserExists(email)) { QMessageBox::warning(this, "warning", "The user already exists"); } else { User newUser; newUser.setFirstName(firstName); newUser.setLastName(lastName); newUser.setUserName(username); newUser.setEmail(email); newUser.setPassword(password); if(addNewUser(newUser)) { QMessageBox::about(this,"Register","The new account created!"); } close(); } } } else { QMessageBox::warning(this,"Waring","The passwords are not matched."); } closeDatabase(); }
void kickDatabase(bool debug) { if (time(NULL) < g_lastDBKick + DB_CHECK_TIME) return; if (debug) cout << "Kicking database connection" << endl; g_lastDBKick = time(NULL); if (mysql_query(&g_dbConn, "SELECT NULL;") == 0) { MYSQL_RES *res = mysql_store_result(&g_dbConn); if (res) mysql_free_result(res); return; } cout << "Lost connection to DB - trying to reconnect" << endl; // failed so try to reconnect to the DB mysql_close(&g_dbConn); connectToDatabase(); }
bool DatabaseStorage::existTable() { mysqlpp::Connection con; if (!connectToDatabase(con)) return false; try { mysqlpp::Query query = con.query(); // test if exist such tabe: if not - result would "false" query << "SELECT * FROM Store"; mysqlpp::SimpleResult res = query.execute(); if (!res) return false; } catch( std::exception& err) { std::cerr << "Query error " << err.what() << "\n"; return false; } return true; }
/* * Player Database */ PlayerDatabasePostgreSQL::PlayerDatabasePostgreSQL(const std::string &connect_string): Database_PostgreSQL(connect_string), PlayerDatabase() { connectToDatabase(); }
MapDatabasePostgreSQL::MapDatabasePostgreSQL(const std::string &connect_string): Database_PostgreSQL(connect_string), MapDatabase() { connectToDatabase(); }