/* * Try to connect to the appropriate maintenance database. */ PGconn * connectMaintenanceDatabase(const char *maintenance_db, const char *pghost, const char *pgport, const char *pguser, enum trivalue prompt_password, const char *progname) { PGconn *conn; /* If a maintenance database name was specified, just connect to it. */ if (maintenance_db) return connectDatabase(maintenance_db, pghost, pgport, pguser, prompt_password, progname, false); /* Otherwise, try postgres first and then template1. */ conn = connectDatabase("postgres", pghost, pgport, pguser, prompt_password, progname, true); if (!conn) conn = connectDatabase("template1", pghost, pgport, pguser, prompt_password, progname, true); if (!conn) { fprintf(stderr, _("%s: could not connect to databases \"postgres\" or \"template1\"\n" "Please specify an alternative maintenance database.\n"), progname); fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); exit(1); } return conn; }
bool databaseSqlite::createDatabase(QWidget *parent,QString *path) { if (!path) {//show dialog and get a newPath qDebug()<<"no hay path"<<*path; QString newPath = QFileDialog::getSaveFileName(parent, QObject::tr("Create Database"), misc::filesPath(), "SQLite3 (*.sqlite3)", 0, QFileDialog::DontConfirmOverwrite); if (newPath.isEmpty()) return false; path=&newPath; } //create a copy of the database in the *path QString oldDb = QSqlDatabase::database().databaseName(); closeDatabase(); if (QFile::exists(*path)) { QMessageBox::critical(0, QObject::tr("Database Error"), QObject::tr("Database exists already.")); if (!oldDb.isEmpty()) connectDatabase(oldDb); return false; } if(!QFile::copy(":/sqlite/todoro.db",*path)) { QString msg =QString("Copying database to %1 failed").arg(*path); QMessageBox::critical(0,"Error",msg); if (!oldDb.isEmpty()) connectDatabase(oldDb); return false; } QFile::setPermissions(*path, QFile::ReadUser | QFile::WriteUser | QFile::WriteOwner | QFile::ReadOwner); if (!connectDatabase(*path)) { if (!oldDb.isEmpty()) connectDatabase(oldDb); return false; } else { return true; } }
static void reindex_system_catalogs(const char *dbname, const char *host, const char *port, const char *username, enum trivalue prompt_password, const char *progname, bool echo) { PQExpBufferData sql; PGconn *conn; initPQExpBuffer(&sql); appendPQExpBuffer(&sql, "REINDEX SYSTEM %s;\n", dbname); conn = connectDatabase(dbname, host, port, username, prompt_password, progname, false); if (!executeMaintenanceCommand(conn, sql.data, echo)) { fprintf(stderr, _("%s: reindexing of system catalogs failed: %s"), progname, PQerrorMessage(conn)); PQfinish(conn); exit(1); } PQfinish(conn); termPQExpBuffer(&sql); }
DependencyNameResolver::DependencyNameResolver(std::string host, std::string db, std::string user, std::string pass, uint32_t port) : m_sHost(host), m_sDB(db), m_sUser(user), m_sPassword(pass), m_uiPort(port) { // m_db = (MysqlConnection *)NULL; connectDatabase(); }
static void vacuum_all_databases(bool full, bool verbose, bool and_analyze, bool analyze_only, bool freeze, const char *host, const char *port, const char *username, enum trivalue prompt_password, const char *progname, bool echo, bool quiet) { PGconn *conn; PGresult *result; int i; conn = connectDatabase("postgres", host, port, username, prompt_password, progname); result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;", progname, echo); PQfinish(conn); for (i = 0; i < PQntuples(result); i++) { char *dbname = PQgetvalue(result, i, 0); if (!quiet) { printf(_("%s: vacuuming database \"%s\"\n"), progname, dbname); fflush(stdout); } vacuum_one_database(dbname, full, verbose, and_analyze, analyze_only, freeze, NULL, host, port, username, prompt_password, progname, echo); } PQclear(result); }
static void cluster_one_database(const char *dbname, bool verbose, const char *table, const char *host, const char *port, const char *username, enum trivalue prompt_password, const char *progname, bool echo) { PQExpBufferData sql; PGconn *conn; initPQExpBuffer(&sql); appendPQExpBuffer(&sql, "CLUSTER"); if (verbose) appendPQExpBuffer(&sql, " VERBOSE"); if (table) appendPQExpBuffer(&sql, " %s", table); appendPQExpBuffer(&sql, ";\n"); conn = connectDatabase(dbname, host, port, username, prompt_password, progname, false); if (!executeMaintenanceCommand(conn, sql.data, echo)) { if (table) fprintf(stderr, _("%s: clustering of table \"%s\" in database \"%s\" failed: %s"), progname, table, dbname, PQerrorMessage(conn)); else fprintf(stderr, _("%s: clustering of database \"%s\" failed: %s"), progname, dbname, PQerrorMessage(conn)); PQfinish(conn); exit(1); } PQfinish(conn); termPQExpBuffer(&sql); }
bool Database::conncetScientistToComputer(Connected newCon) { bool result; string sciName = newCon.getNameOne(); string comName = newCon.getNameTwo(); int sciId = ScientistId(sciName); cout << "integerinn sci " << sciId; int comId = ScientistId(comName); cout << "integerinn com" << comId; QSqlQuery query(connectDatabase()); query.prepare ("INSERT INTO ScientistComputersConnect VALUES(:sciId, :comId)"); query.bindValue(":sciId", QString::number(sciId)); query.bindValue(":comId", QString::number(comId)); if (!query.exec()) { qDebug() << query.lastError().text(); result = false; } return result; }
static void cluster_all_databases(const char *host, const char *port, const char *username, bool password, const char *progname, bool echo, bool quiet) { PGconn *conn; PGresult *result; int i; conn = connectDatabase("template1", host, port, username, password, progname); result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn;", progname, echo); PQfinish(conn); for (i = 0; i < PQntuples(result); i++) { char *dbname = PQgetvalue(result, i, 0); if (!quiet) fprintf(stderr, _("%s: clustering database \"%s\"\n"), progname, dbname); cluster_one_database(dbname, NULL, host, port, username, password, progname, echo, quiet); } PQclear(result); }
list<Connected> Database::ComputerToScientistId(string Id) { list<Connected> result = list<Connected>(); QSqlQuery query(connectDatabase()); query.prepare("SELECT * FROM Computers " "INNER JOIN ScientistComputersConnect, Scientists " "ON ScientistComputersConnect.ScientistID = Scientists.Id " "AND ScientistComputersConnect.ComputersID = Computers.Id " "WHERE ScientistComputersConnect.ScientistID = :SciId " "ORDER BY Scientists.Name" ); query.bindValue(":SciId", QString::fromStdString(Id)); if (!query.exec()) { qDebug() << query.lastError().text(); } query.exec(); result = databaseToComputerScientistlist (query); return result; }
static void reindex_all_databases(const char *host, const char *port, const char *username, enum trivalue prompt_password, const char *progname, bool echo, bool quiet) { PGconn *conn; PGresult *result; int i; conn = connectDatabase("postgres", host, port, username, prompt_password, progname); result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;", progname, echo); PQfinish(conn); for (i = 0; i < PQntuples(result); i++) { char *dbname = PQgetvalue(result, i, 0); if (!quiet) { printf(_("%s: reindexing database \"%s\"\n"), progname, dbname); fflush(stdout); } reindex_one_database(dbname, dbname, "DATABASE", host, port, username, prompt_password, progname, echo); } PQclear(result); }
void cfDatabase::addUser(std::string uid, std::string name) { connectDatabase(); std::string input = "INSERT INTO users(uid, name) VALUES(\""+uid+"\", \""+name+"\");"; if(sqlite3_exec(db, input.c_str(), callback, 0, &errMsg) == 1) std::cout << "[ERROR]:" << sqlite3_errmsg(db) << "\n"; disconnectDatabase(); }
void ProfileManager::update140() { std::cout << "QupZilla: Upgrading profile version from 1.4.0..." << std::endl; connectDatabase(); QSqlQuery query; query.exec("ALTER TABLE search_engines ADD COLUMN postData TEXT"); }
SelectareLunaFereastra::SelectareLunaFereastra(QSqlDatabase *db, QWidget *parent) : QWidget(parent) , m_db (db) { // Incerc sa ma conected la baza de date if (!m_db || !m_db->isOpen()) { m_db = new QSqlDatabase(); if (!connectDatabase(*m_db)) { showError("Eroare fisiere", "100: Anumite fisiere au nu pot fi gasite!"); exit(0); } } this->setStyleSheet("QPushButton { font-size: 10pt; padding:10px; padding-left: 50px; padding-right:50px;}" "QComboBox { font-size: 10pt; padding:10px; }"); m_comboBoxAn = new QComboBox(); construiesteAnii(); connect(m_comboBoxAn, SIGNAL(currentIndexChanged(QString)), this, SLOT(construiesteLunile(QString))); m_comboBoxLuna = new QComboBox(); if (m_comboBoxAn->count() != 0) construiesteLunile(m_comboBoxAn->currentText()); m_buttonVizualizareLuna = new QPushButton("Vizualizare luna"); connect(m_buttonVizualizareLuna, SIGNAL(clicked()), this, SLOT(vizualizareLuna())); m_buttonVizualizareAn = new QPushButton("Vizualizare an"); connect(m_buttonVizualizareAn, SIGNAL(clicked()), this, SLOT(vizualizareAn())); m_buttonMembrii = new QPushButton("Membrii"); connect(m_buttonMembrii, SIGNAL(clicked()), this, SLOT(vizualizareMembrii())); // TODO /**/ m_buttonMembrii->setEnabled(false); m_buttonIesire = new QPushButton("Iesire"); connect(m_buttonIesire, SIGNAL(clicked()), this, SLOT(close())); verificAnNou(); m_comboBoxAn->setCurrentIndex(m_comboBoxAn->count()-1); m_layoutPrincipal = new QVBoxLayout(); m_layoutPrincipal->addWidget(m_comboBoxAn); m_layoutPrincipal->addWidget(m_comboBoxLuna); m_layoutPrincipal->addWidget(m_buttonVizualizareLuna); m_layoutPrincipal->addWidget(m_buttonVizualizareAn); m_layoutPrincipal->addWidget(m_buttonMembrii); m_layoutPrincipal->addWidget(m_buttonIesire); this->setLayout(m_layoutPrincipal); }
void cfDatabase::modifyUser(std::string id, std::string name) { printFull(); connectDatabase(); std::string input = "UPDATE users SET name=\""+name+"\" WHERE ID="+id+";"; if(sqlite3_exec(db, input.c_str(), callback, 0, &errMsg) == 1) std::cout << "[ERROR]:" << sqlite3_errmsg(db) << "\n"; disconnectDatabase(); }
void Database::addComputer(Computer computer) { QSqlQuery query(connectDatabase()); query.prepare("INSERT INTO Computers (ComputersName, YearBuilt, Type, WasItBuilt) VALUES (:name, :year, :type, :built)"); query.bindValue(":name", QString::fromStdString(computer.getName())); query.bindValue(":year", QString::number(computer.getYear())); query.bindValue(":type", QString::fromStdString(computer.getType())); query.bindValue(":built", QString::number(computer.getwasItBuilt())); query.exec(); }
void Database::add(Scientist scientist) { QSqlQuery query(connectDatabase()); query.prepare("INSERT INTO Scientists (Name, Gender, YearOfBirth, YearOfDeath) VALUES (:Name, :Gender, :YearOfBirth, :YearOfDeath)"); query.bindValue(":Name", QString::fromStdString(scientist.getName())); query.bindValue(":Gender", QString::fromStdString(scientist.getGender())); query.bindValue(":YearOfBirth", QString::number(scientist.getBirthYear())); query.bindValue(":YearOfDeath", QString::number(scientist.getDeathYear())); query.exec(); }
void ProfileManager::update130() { std::cout << "QupZilla: Upgrading profile version from 1.3.0..." << std::endl; connectDatabase(); QSqlQuery query; query.exec("ALTER TABLE bookmarks ADD COLUMN keyword TEXT"); update140(); }
void cfDatabase::deleteUser(std::string id) { printFull(); connectDatabase(); std::string input = "DELETE FROM users WHERE ID="+id+";"; if(sqlite3_exec(db, input.c_str(), callback, 0, &errMsg) == 1) std::cout << "[ERROR]:" << sqlite3_errmsg(db) << "\n"; disconnectDatabase(); }
void ProfileManager::update118() { std::cout << "QupZilla: Upgrading profile version from 1.1.8..." << std::endl; connectDatabase(); QSqlQuery query; query.exec("ALTER TABLE folders ADD COLUMN parent TEXT"); update120(); }
void ProfileManager::update100() { std::cout << "QupZilla: Upgrading profile version from 1.0.0..." << std::endl; connectDatabase(); QSqlQuery query; query.exec("ALTER TABLE autofill ADD COLUMN last_used NUMERIC"); query.exec("UPDATE autofill SET last_used=0"); update118(); }
/* * Try to connect to the appropriate maintenance database. */ PGconn * connectMaintenanceDatabase(const char *maintenance_db, const char *pghost, const char *pgport, const char *pguser, enum trivalue prompt_password, const char *progname) { PGconn *conn; /* If a maintenance database name was specified, just connect to it. */ if (maintenance_db) return connectDatabase(maintenance_db, pghost, pgport, pguser, prompt_password, progname, false); /* Otherwise, try postgres first and then template1. */ conn = connectDatabase("postgres", pghost, pgport, pguser, prompt_password, progname, true); if (!conn) conn = connectDatabase("template1", pghost, pgport, pguser, prompt_password, progname, false); return conn; }
static void reindex_one_database(const char *name, const char *dbname, const char *type, const char *host, const char *port, const char *username, enum trivalue prompt_password, const char *progname, bool echo, bool verbose) { PQExpBufferData sql; PGconn *conn; initPQExpBuffer(&sql); appendPQExpBufferStr(&sql, "REINDEX"); if (verbose) appendPQExpBufferStr(&sql, " (VERBOSE)"); if (strcmp(type, "TABLE") == 0) appendPQExpBuffer(&sql, " TABLE %s", name); else if (strcmp(type, "INDEX") == 0) appendPQExpBuffer(&sql, " INDEX %s", name); else if (strcmp(type, "SCHEMA") == 0) appendPQExpBuffer(&sql, " SCHEMA %s", name); else if (strcmp(type, "DATABASE") == 0) appendPQExpBuffer(&sql, " DATABASE %s", fmtId(name)); appendPQExpBufferChar(&sql, ';'); conn = connectDatabase(dbname, host, port, username, prompt_password, progname, false, false); if (!executeMaintenanceCommand(conn, sql.data, echo)) { if (strcmp(type, "TABLE") == 0) fprintf(stderr, _("%s: reindexing of table \"%s\" in database \"%s\" failed: %s"), progname, name, dbname, PQerrorMessage(conn)); if (strcmp(type, "INDEX") == 0) fprintf(stderr, _("%s: reindexing of index \"%s\" in database \"%s\" failed: %s"), progname, name, dbname, PQerrorMessage(conn)); if (strcmp(type, "SCHEMA") == 0) fprintf(stderr, _("%s: reindexing of schema \"%s\" in database \"%s\" failed: %s"), progname, name, dbname, PQerrorMessage(conn)); else fprintf(stderr, _("%s: reindexing of database \"%s\" failed: %s"), progname, dbname, PQerrorMessage(conn)); PQfinish(conn); exit(1); } PQfinish(conn); termPQExpBuffer(&sql); }
void DatabaseTabWidget::insertDatabase(Database* db, const DatabaseManagerStruct& dbStruct) { m_dbList.insert(db, dbStruct); addTab(dbStruct.dbWidget, ""); toggleTabbar(); updateTabName(db); int index = databaseIndex(db); setCurrentIndex(index); connectDatabase(db); connect(dbStruct.dbWidget, SIGNAL(closeRequest()), SLOT(closeDatabaseFromSender())); connect(dbStruct.dbWidget, SIGNAL(databaseChanged(Database*)), SLOT(changeDatabase(Database*))); connect(dbStruct.dbWidget, SIGNAL(unlockedDatabase()), SLOT(updateTabNameFromDbWidgetSender())); }
MainForm::MainForm(QWidget *parent, const char *name):MainFormBase(parent, name) { createActions(); createMenus(); createToolBars(); readSettings(); //чтение настроек setCaption(tr("Контроль исполнения")); setPlanTable(); referenceExecutionForm = 0; referenceSkbForm =0; filterDialog = 0; currentPlanList = ""; connectDatabase(); }
bool databaseSqlite::openDatabase(QWidget *parent) { QString oldPath = QFileInfo(QSqlDatabase::database().databaseName()).absolutePath(); QString path = QFileDialog::getOpenFileName(parent, "Open Database", (oldPath.isEmpty()) ? misc::filesPath() : oldPath, "SQLite3 (*.sqlite3)"); if (path.isEmpty()) return false; QString oldDb = QSqlDatabase::database().databaseName(); closeDatabase(); if(!connectDatabase(path)) { if (!oldDb.isEmpty()) return connectDatabase(oldDb); return false; } return true; }
void DatabaseTabWidget::changeDatabase(Database* newDb) { Q_ASSERT(sender()); Q_ASSERT(!m_dbList.contains(newDb)); DatabaseWidget* dbWidget = static_cast<DatabaseWidget*>(sender()); Database* oldDb = databaseFromDatabaseWidget(dbWidget); DatabaseManagerStruct dbStruct = m_dbList[oldDb]; m_dbList.remove(oldDb); m_dbList.insert(newDb, dbStruct); updateTabName(newDb); connectDatabase(newDb, oldDb); }
void cfDatabase::printFull() { connectDatabase(); std::string input = "SELECT * FROM users;"; if(sqlite3_exec(db, input.c_str(), callback, 0, &errMsg) == 1) std::cout << "[ERROR]:" << sqlite3_errmsg(db) << "\n"; std::cout << "USER LIST START:\n\n"; for(unsigned long int i(0); i != users.uCount; i++) { std::cout << "ID:" << users.id.at(i) << " |UID:" << users.uid.at(i) << " |NAME:" << users.name.at(i) << "\n"; } std::cout << "\n\nUSER LIST END:\n\n"; disconnectDatabase(); }
list <Computer> Database::sortComputersAsc() { QSqlQuery query(connectDatabase()); query.prepare ("SELECT * FROM Computers ORDER BY LOWER(ComputersName), ComputersName"); if (!query.exec()) { qDebug() << query.lastError().text(); } list <Computer> result = list <Computer>(); result = databaseToComputerList(query); return result; }
int Database::ComputerId(string inputFromUser) { QSqlQuery query(connectDatabase()); query.prepare ("SELECT Id FROM Computers WHERE ComputersName LIKE :name"); query.bindValue(":name", QString::fromStdString(inputFromUser)); if (!query.exec()) { qDebug() << query.lastError().text(); } int comId = query.value("Computers.Id").toInt(); return comId; }
void ProfileManager::initCurrentProfile(const QString &profileName) { QString profilePath = DataPaths::path(DataPaths::Profiles) + QLatin1Char('/'); if (profileName.isEmpty()) { profilePath.append(startingProfile()); } else { profilePath.append(profileName); } DataPaths::setCurrentProfilePath(profilePath); updateCurrentProfile(); connectDatabase(); }