PersonXComputers DbManager::getPersonXComputers(QString pid)
{
    db.open();
    QSqlQuery qry;
    QVector<Computer> comps;
    QVector<QString> cids;
    PersonXComputers pxc;

    qry.exec("PRAGMA foreign_keys=ON");

    qry.exec("SELECT cID "
             "FROM ComputersXPersons "
             "WHERE pID = " + pid);

    int i_cid = qry.record().indexOf("cID");

    while(qry.next())
    {
        cids.push_back(qry.value(i_cid).toString());
    }

    for(int i = 0; i < cids.size(); i++)
    {
        comps.push_back(findComputers("WHERE cID = " + cids[i]).first());
    }

    db.close();

    pxc.setPerson(findPersons("WHERE pID = " + pid).first());
    pxc.setComputers(comps);

    return pxc;
}
示例#2
0
bool interface::rise()
{
    if(id_db == 0) return false;
    QSqlQuery query = nd::connection::instance()->select(QString("SELECT * FROM %1 WHERE id = %2").arg(this->tablename()).arg(id_db), (t_onFallback ? nd::connection::fallbackdb() : nd::connection::maindb()));
    if(query.next()) {
        t_valid = true;
        for(int i = 0; i < fieldsCount(); i++) {
            t_valid = t_valid && setFieldValue(i, query.record().field(fieldName(i)).value().toString());
        };
        return t_valid && nd::interface::update(query.record());

    } else {
        t_valid = false;
        return t_valid;
    };
}
示例#3
0
void QSqlField_snippets()
{
#if 0
    {
//! [2]
    QSqlField field("age", QVariant::Int);
    field.setValue(QPixmap());  // WRONG
//! [2]
    }
#endif

    {
//! [3]
    QSqlField field("age", QVariant::Int);
    field.setValue(QString("123"));  // casts QString to int
//! [3]
    }

    {
//! [4]
    QSqlQuery query;
//! [4] //! [5]
    QSqlRecord record = query.record();
//! [5] //! [6]
    QSqlField field = record.field("country");
//! [6]
    }
}
void ScreenshotManager::updateHistory(const QString &fileName, const QString &url, const QString &deleteHash)
{
    if (!mSettings->value("/options/history", true).toBool() || url.isEmpty()) {
        return;
    }

    if (!mHistoryInitialized) {
        initHistory();
    }

    QSqlQuery query;
    query.prepare("SELECT fileName FROM history WHERE URL IS NOT EMPTY AND fileName = ?");
    query.addBindValue(fileName);
    query.exec();

    if (query.record().count() > 0) {
        QSqlQuery updateQuery;
        updateQuery.prepare("UPDATE history SET URL = ?, deleteURL = ?, time = ? WHERE fileName = ?");
        updateQuery.addBindValue(url);
        updateQuery.addBindValue("https://imgur.com/delete/" + deleteHash);
        updateQuery.addBindValue(QDateTime::currentMSecsSinceEpoch());
        updateQuery.addBindValue(fileName);

        updateQuery.exec();
    } else {
        saveHistory(fileName, url, deleteHash);
    }
}
示例#5
0
//--------------------utech--------------------utech--------------------utech--------------------
QString USkladZbutRozrah::rekvizytyPostachalnyka(int PostachId)
{
	QSqlQuery query;
	QString str;
	query.exec("SELECT * FROM orginfo WHERE id="+QString::number(PostachId));
	query.next();
	QSqlRecord rec = query.record();
	QString Edrpoy = rec.value("Edrpoy").toString();
	QString PovnaNazvaPidpr = rec.value("PovnaNazvaPidpr").toString();
	QString Adresa = rec.value("Adresa").toString();
	QString Bank = rec.value("Bank").toString();
	QString MFO = rec.value("MFO").toString();
	QString BankRahunok = rec.value("BankRahunok").toString();
	QString Podatok = rec.value("Podatok").toString();
	QString IPN = rec.value("IPN").toString();
	QString SvidPDVNum = rec.value("SvidPDVNum").toString();
	QString TelefonDurekt = rec.value("TelefonDurekt").toString();
	QString Fax = rec.value("Fax").toString();
	QString Email = rec.value("Email").toString();
	str += PovnaNazvaPidpr + "\n";
	str += "ЄДРПОУ " + Edrpoy + ";\n";
	str += "Адреса: " + Adresa + ";\n";
	str += "Банк: " + Bank + ", МФО " + MFO + ", р/р " + BankRahunok + ";\n";
	if (_podatokType == 1){
		str += "Платник податку на прибуток на загальних підставах\n";
		str += "ІПН " + IPN + ", № свід. ПДВ " + SvidPDVNum + ";\n";
	}
	if (TelefonDurekt.size() > 0)
		str += "Тел." + TelefonDurekt + ", ";
	if (Fax.size() > 0)
		str += "Факс." + Fax + ", ";
	if (Email.size() > 0)
		str += "Е-пошта." + Email + ", ";
	return str;
}
示例#6
0
void MainForm::on_but_vnesti_dolg_clicked()
{
    QSqlQuery sql;
    sql.prepare("SELECT MAX(OPLATI_CLIENTS) AS number "
                "FROM OPLATI_CLIENTS");
    sql.exec();
    QSqlRecord record = sql.record();
    sql.next();

    int Number = sql.value(record.indexOf("number")).toInt();

    Number++;

    double summ = ui->dolg_client->text().toDouble();
    double summa_Oplati = QInputDialog::getDouble(this,"Введите сумму ","Сумма:",summ,0,99999999,2,0,0);

    sql.prepare("INSERT INTO OPLATI_CLIENTS(NUMBER,DATE,TYPE_OPERACII,ID_CLIENT,SUMMA_K_OPL,SUMMA_OPL) "
                "VALUES(:NUMBER,:DATE,:TYPE_OPERACII,:ID_CLIENT,:SUMMA_K_OPL,:SUMMA_OPL) ");
    sql.bindValue(":NUMBER",Number);
    sql.bindValue(":DATE",QDate::currentDate().toString("dd.MM.yyyy"));
    sql.bindValue(":TYPE_OPERACII",n_PL_DOLG);
    sql.bindValue(":ID_CLIENT",ID_Client);
    sql.bindValue(":SUMMA_K_OPL",0);
    sql.bindValue(":SUMMA_OPL",summa_Oplati);

    sql.exec();

    UpdateClients(ID_Client);
}
/*!
 * \param schueler Sch&uuml;ler.
 * \param datum &Auml;nderungsdatum.
 * \return bestimmte Sch&uuml;lerdaten.
 */
Daten* Datenbank::getDaten(Schueler* schueler, QDateTime datum)
{
	QSqlQuery query;
	query.prepare("SELECT * FROM h_daten WHERE schuelerid = :schuelerid AND datum = :datum");
	query.bindValue(":schuelerid", (schueler->getSchuelerID()));
	query.bindValue(":datum", datum);
	query.exec();	
	query.first();
	Daten *daten = new Daten();
	QSqlRecord record = query.record();
	daten->setDatenID(query.value(record.indexOf("datenid")).toInt());
	daten->setSchuelerID(query.value(record.indexOf("schuelerid")).toInt());
	daten->setOrganisatorID(query.value(record.indexOf("organisatorid")).toInt());
	daten->setDatum(query.value(record.indexOf("datum")).toDateTime());
	daten->setNeuerName(query.value(record.indexOf("neuername")).toString());
	daten->setStrHnr(query.value(record.indexOf("strhnr")).toString());
	daten->setPLZ(query.value(record.indexOf("plz")).toString());
	daten->setOrt(query.value(record.indexOf("ort")).toString());
	daten->setLand(query.value(record.indexOf("land")).toString());
	daten->setTelefon(query.value(record.indexOf("telefon")).toString());
	daten->setEmail(query.value(record.indexOf("email")).toString());
	daten->setKommentar(query.value(record.indexOf("kommentar")).toString());
	daten->setAenderungen(query.value(record.indexOf("aenderungen")).toString());
	return daten;
}
void AdminWindow::on_btn_AddFood_clicked()
{
    addFood* newFood = new addFood();
    newFood->setWindowModality(Qt::ApplicationModal);
QStringList allCatagoriesList;

    /**/
    QSqlQuery *query = new QSqlQuery();
    query->prepare("SELECT * FROM Catagories");
    bool result = query->exec();

    if(result == true){
        while(query->next())
        {
            QString name = query->record().value("name").toString();
            allCatagoriesList.append(name);
        }
    }
   newFood->setCatagoryList(allCatagoriesList);


    delete query;


    connect(newFood, SIGNAL(signal_foodAdded(Food*)), this, SLOT(onFoodAddedSignalRecieved(Food*)));
    newFood->show();
}
示例#9
0
QDateTime ProjBegin(unsigned int aProjId)
{
    QSqlQuery query;
    query.exec("SELECT date_begin FROM project WHERE proj_id = " + QString::number(aProjId));
    query.next();
    return QDateTime::fromString(query.record().value(0).toString(), Qt::ISODate);
}
void AdminWindow::on_btn_UserWiseTransaction_clicked()
{
    QVector<QString> allUserName;
    UserWiseTransaction *a = new UserWiseTransaction();
    a->setWindowModality(Qt::ApplicationModal);
    a->show();

    //
    QSqlQuery q;
    q.prepare("SELECT * FROM Users");
    bool r = q.exec();

    if(r)
    {
        while(q.next())
        {
            allUserName.push_back(q.record().value("name").toString());
        }

    }

    connect(this, SIGNAL(signal_AdminPanelUserWiseTransButtonClicked(QVector<QString>)), a, SLOT(onSignalAdminPanelUserWiseButtonRecieved(QVector<QString>)), Qt::UniqueConnection);
    connect(a, SIGNAL(signal_onUserSelectedForTransaction(QString)), this, SLOT(onUserSelectedForTransactionRecieved(QString)));

    emit signal_AdminPanelUserWiseTransButtonClicked(allUserName);
    //
}
void AdminWindow::onFoodEdited(Food *food)
{    qDebug()<<"Editing Food Name: "<<food->getName();

QStringList allCatagoriesList;
     UpdateFood* newCatagory = new UpdateFood();
     newCatagory->setWindowModality(Qt::ApplicationModal);

      /**/
      QSqlQuery *query = new QSqlQuery();
      query->prepare("SELECT * FROM Catagories");
      bool result = query->exec();

      if(result == true){
          while(query->next())
          {
              QString name = query->record().value("name").toString();
              allCatagoriesList.append(name);
          }
      }
     newCatagory->setCatagoryList(allCatagoriesList);
     newCatagory->setPrevFood(food);

      delete query;


     connect(newCatagory, SIGNAL(UpdateFoodButtonClicked(Food*, Food*)), this, SLOT(onUpdateFoodButtonClicked(Food*, Food*)));

     newCatagory->show();


}
示例#12
0
QString DataBase::readDB(QString path){

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(path);

    if (!db.open()) {
        qDebug() << "Unable to execute db - exiting";
        return "";
    }

    QSqlQuery query;
    if (!query.exec("SELECT * FROM lesson;")) {
        qDebug() << "Unable to execute query - exiting";
        return "";
    }

    //Reading of the data
    QSqlRecord rec     = query.record();
    QString nameLessonFile;

    while (query.next()){
        nameLessonFile = query.value(rec.indexOf("lessonName")).toString();
        break;
    }

    if(!nameLessonFile.isEmpty())
    saveLessonFilePath.insert(nameLessonFile,path);

    return nameLessonFile;
}
示例#13
0
QDateTime Database::replaceCacheRecordByServerRecord(const QSqlDatabase& dbCache, const QString& table, const QSqlQuery& queryMaster)
{
    QDateTime updated;    
    QSqlRecord record = queryMaster.record();
    int fieldUpdated = record.indexOf("updated");
    if (fieldUpdated == -1)
    {
        fieldUpdated = record.indexOf("created");
    }

    Q_ASSERT(fieldUpdated > -1);
    updated = record.value(fieldUpdated).toDateTime();

    int n = record.count();
    if (n > 1)
    {
        QString sql = QString("REPLACE INTO %1 (").arg(table);
        bool first = true;
        for (int i = 0; i < n; i++)
        {
            if (first)
                first = false;
            else
                sql += ", ";

            sql += record.fieldName(i);
        }
        sql += ") VALUES (";

        first = true;
        for (int i = 0; i < n; i++)
        {
            if (first)
                first = false;
            else
                sql += ", ";

            sql += "?";
        }
        sql += ")";

        QSqlQuery queryCache(dbCache);
        queryCache.setForwardOnly(true);
        queryCache.prepare(sql);

        for (int i = 0; i < n; i++)
        {
            QVariant v(record.value(i));
            if (v.type() == QVariant::DateTime)
                queryCache.bindValue(i, datetimeToString(v.toDateTime()));
            else
                queryCache.bindValue(i, v);
        }

        if (!queryCache.exec())
            throw DatabaseException(queryCache);
    }

    return updated;
}
ComputerXPersons DbManager::getComputerXPersons(QString cid)
{
    db.open();
    QSqlQuery qry;
    QVector<Person> pers;
    QVector<QString> pids;
    ComputerXPersons cxp;

    qry.exec("PRAGMA foreign_keys=ON");

    qry.exec("SELECT pID "
             "FROM ComputersXPersons "
             "WHERE cID = " + cid);

    int i_pid = qry.record().indexOf("pID");

    while(qry.next())
    {
        pids.push_back(qry.value(i_pid).toString());
    }

    for(int i = 0; i < pids.size(); i++)
    {
        pers.push_back(findPersons("WHERE pID = " + pids[i]).first());
    }

    db.close();

    cxp.setComputer(findComputers("WHERE cID = " + cid).first());
    cxp.setPersons(pers);

    return cxp;
}
示例#15
0
Login::Login(Configuracion *m_config,QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Login)
{
    this->setWindowFlags(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowTitleHint);
    ui->setupUi(this);
    //--------------------------------------------
    // Conexiones
    //--------------------------------------------
    connect(ui->btnEmpresa,SIGNAL(clicked()),this,SLOT(btnEmpresa_clicked()));
    connect(ui->Crearconfiguracin,SIGNAL(clicked()),this,SLOT(Crearconfiguracion_clicked()));

    // TODO - Rellenar en base a fichero de empresas BD terra.
    // Relleno combo empresas

    QSqlQuery *QryEmpresas = new QSqlQuery(QSqlDatabase::database("terra"));
    QryEmpresas->prepare("Select * from empresas");
    if(QryEmpresas->exec()) {

        while (QryEmpresas->next()) {
            QSqlRecord rEmpresa = QryEmpresas->record();
            ui->cboEmpresa->addItem(rEmpresa.field("nombre").value().toString());
        }
    }

    this->ui->lineUsuario->setFocus();

}
示例#16
0
/**
 * @brief Database::AddRevenue
 * Add amount to revenue attribute in stadiums table
 * @param id stadiums id
 * @param revenue of the stadium
 * @return
 */
bool Database::AddRevenue(int id, double revenue)
{
    QSqlQuery query;
    query.prepare("select revenue from stadiums where id = :id");
    query.bindValue(":id", id);
    if(query.exec()){
        if(query.next()){
            double originalRev = query.record().field("revenue").value().toDouble();
            query.clear();
            query.prepare("update stadiums set revenue = :newRev where id = :id");
            double newRev = originalRev + revenue;
            query.bindValue(":newRev", newRev);
            query.bindValue(":id", id);
            return query.exec();
        }
        else
        {
            qDebug() << query.lastError().text();
            return false;
        }
    }
    else
    {
        qDebug() << query.lastError().text();
        return false;
    }
}
/*!
 \brief Check if the solar system exists.

 \param solarSystem The solar system to check.
 \return bool Return TRUE if the solar system does not exists.
*/
bool SolarSystemRepository::isSolarSystemUnique(SolarSystem *solarSystem)
{
    QSqlQuery solarSystemQuery;
    solarSystemQuery.prepare("SELECT"
                             "     COUNT(*) AS count "
                             "FROM "
                             "     solarsystem "
                             "WHERE "
                             "     lower(name) = lower(:name) "
                             "AND "
                             "     solarsystemid <> :solarsystemid");

    solarSystemQuery.bindValue(":name", solarSystem->getName());
    solarSystemQuery.bindValue(":solarsystemid", solarSystem->getId());

    if (!solarSystemQuery.exec())
    {
        throw SqlQueryException("The solar system entity could not checked if it is unique!",
                                solarSystemQuery.lastError().text());
    }

    if (!solarSystemQuery.next())
    {
        throw SqlQueryException("The solar system entity could not checked if it is unique!",
                                solarSystemQuery.lastError().text());
    }

    return solarSystemQuery.record().value("count").toInt() == 0;
}
示例#18
0
void ToersteBaseWorker::queryFileInfo(const QString &fileNameToSearch)
{
    if( !fileDatabase.isOpen() )
    {
        qDebug() << "ToersteBase: Error: Database is not open";
        return;
    }

    QString autoComplete;
    QStringList autoCompleteList;
    QSqlQuery query;
    QString queryString =
        "SELECT * FROM file WHERE autoComplete LIKE '" + fileNameToSearch + "%'";

    qDebug() << "ToersteBase: fileinfo query" << fileNameToSearch;

    query.prepare(queryString);
    query.exec();

    int autoCompleteField = query.record().indexOf("autoComplete");

    while ( query.next() )
    {
        autoComplete = query.value(autoCompleteField).toString();
        autoCompleteList.append(autoComplete);
    }

    QMetaObject::invokeMethod(
        sender(),
        "updateList",
        Qt::QueuedConnection,
        Q_ARG(QStringList, autoCompleteList));

}
示例#19
0
/*!
 * \return Liste mit dem Verlauf eines Sch&uuml;lers.
 * Der Verlauf ist nach der Reihenfolge des Eintrags geordnet, da das Datum zu ungenau ist.
 */
QList<Daten*> Datenbank::getVerlauf(Schueler *schueler)
{
	int id = schueler->getSchuelerID();
	QSqlQuery query;
	query.prepare("SELECT * FROM h_daten WHERE schuelerid = :id ORDER BY datenid DESC;");
	query.bindValue(":id", id);
	query.exec();
	QList<Daten*> list;
	while (query.next()) {
		QSqlRecord record = query.record();
		Daten *daten = new Daten();
		daten->setDatenID(query.value(record.indexOf("datenid")).toInt());
		daten->setSchuelerID(query.value(record.indexOf("schuelerid")).toInt());
		daten->setOrganisatorID(query.value(record.indexOf("organisatorid")).toInt());
		daten->setDatum(query.value(record.indexOf("datum")).toDateTime());
		daten->setNeuerName(query.value(record.indexOf("neuername")).toString());
		daten->setStrHnr(query.value(record.indexOf("strhnr")).toString()); 
		daten->setPLZ(query.value(record.indexOf("plz")).toString());
		daten->setOrt(query.value(record.indexOf("ort")).toString());
		daten->setLand(query.value(record.indexOf("land")).toString());
		daten->setTelefon(query.value(record.indexOf("telefon")).toString());
		daten->setEmail(query.value(record.indexOf("email")).toString());
		daten->setKommentar(query.value(record.indexOf("kommentar")).toString());
		daten->setAenderungen(query.value(record.indexOf("aenderungen")).toString());
		list.append(daten);
	}
	return list;
}
示例#20
0
User MainDataBase::getUser(QString name)
{
    if (db.isOpen())
    {
        QSqlQuery query;


        QString strQuery = QString("SELECT * FROM ScrabbleDataBase WHERE name ='%1'").arg(name);
        bool result = query.exec(strQuery);
        QSqlRecord record = query.record();

        assert(result);

        while (query.next())
        {
            int loseCount = query.value(record.indexOf("loseCount")).toInt();
            int winCount = query.value(record.indexOf("winCount")).toInt();
            int usersCS = query.value(record.indexOf("usersCurrentScore")).toInt();
            int botsCS = query.value(record.indexOf("botsCurrentScore")).toInt();
            QString board = query.value(record.indexOf("currentBoard")).toString();
            string sBoard = "";
            for (int i = 0; i < (int)board.size(); ++i)
                sBoard += board[i].toLatin1();
            return User(name, loseCount, winCount, sBoard, usersCS, botsCS);
        }
        addUser(name);
        return getUser(name);
    }    
}
示例#21
0
/*!
 * \param schueler Sch&uuml;ler.
 * \return aktuelle Sch&uuml;lerdaten.
 */
Daten* Datenbank::getDaten(Schueler* schueler)
{	
	QSqlQuery query;
	//query.prepare("SELECT datenid, schuelerid, organisatorid, neuername, strhnr, plz, ort, land, telefon, email"
	//		"FROM h_daten WHERE schuelerid = :schueler"); //ORDER BY datenid DESC");
	//query.bindValue(":schuelerid", (schueler->getSchuelerID()));
	int id = schueler->getSchuelerID();
	query.prepare("SELECT * FROM h_daten WHERE schuelerid = :schuelerid ORDER BY datenid DESC;");
	query.bindValue(":schuelerid", id);
	query.exec();;
	query.first();
	Daten *daten = new Daten();
	QSqlRecord record = query.record();
	daten->setDatenID(query.value(record.indexOf("datenid")).toInt());
	daten->setSchuelerID(query.value(record.indexOf("schuelerid")).toInt());
	daten->setOrganisatorID(query.value(record.indexOf("organisatorid")).toInt());
	daten->setDatum(query.value(record.indexOf("datum")).toDateTime());
	daten->setNeuerName(query.value(record.indexOf("neuername")).toString());
	daten->setStrHnr(query.value(record.indexOf("strhnr")).toString());
	daten->setPLZ(query.value(record.indexOf("plz")).toString());
	daten->setOrt(query.value(record.indexOf("ort")).toString());
	daten->setLand(query.value(record.indexOf("land")).toString());
	daten->setTelefon(query.value(record.indexOf("telefon")).toString());
	daten->setEmail(query.value(record.indexOf("email")).toString());
	daten->setKommentar(query.value(record.indexOf("kommentar")).toString());
	daten->setAenderungen(query.value(record.indexOf("aenderungen")).toString());
	return daten;
}
示例#22
0
IResponse *GroupsService::getApprovements(IRequest *req)
{

    QVariantMap reqJson = req->postBodyFromJson().toMap();
    QString group_id = reqJson["group_id"].toString();

    QVariantList approvements;
    QSqlQuery query;


    if(this->isAdmin(m_proxyConnection->session()->value("logged").toUInt(), group_id.toUInt())){
        query.prepare("SELECT user_id FROM group_users WHERE group_id = :group_id AND status = 0");
        query.bindValue(":group_id", group_id);
        if(!query.exec())
            return req->response(IResponse::INTERNAL_SERVER_ERROR);

        while(query.next()){
           QVariantMap approvement;
           approvement.insert("user_id",query.value(query.record().indexOf("user_id")));
           approvement.insert("group_id",group_id);

           approvements.append(approvement);
        }
    }
    return req->response(QVariant(approvements),IResponse::OK);
}
void ChangementVersion::Version()
{


    QString queryStr = "CREATE TABLE BoiteInfos ('Id_Boite' INTEGER PRIMARY KEY, 'Nom_Boite' VARCHAR(255) )";

    madatabase.exec( queryStr );

    queryStr = "CREATE TABLE BoiteAlb ( 'Id_Boite' INTEGER, 'Id_Album' INTEGER)";
    madatabase.exec( queryStr );

    queryStr = " UPDATE Configuration SET 'Valeur' = 2 WHERE Intitule ='Version' ";

    madatabase.exec( queryStr );


    //On en profite pour scaler toutes les images
    queryStr = "Select DISTINCT Id_Pochette FROM Pochette";

   QSqlQuery query = madatabase.exec( queryStr );

    while ( query.next() )
    {
        QSqlRecord rec = query.record();

        Handle<BDDPoch> poch = BDDPoch::recupererBDD( rec.value( "Id_Pochette" ).toInt() );

        poch->sauverImage();

    }
}
QVector<CObject*> CKnowledgeDB::getAllObject()
{
    QVector<CObject *> objects;
    QSqlQuery query;
    QSqlRecord record;

    query.prepare("SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,k FROM object");

    if (!query.exec()) {
        qDebug() << QString("Failed to obtain the object in DB : ") + m_dataBaseName << "\n"
                 << m_dataBase.lastError().text();
        return objects;
    }

    record = query.record();

    while (query.next()) {
        CObject *obj = new CObject();

        for (int i=1; i<=15; ++i) {
            QString featureName = QString("f%1").arg(i);

            QVariant value = query.value(record.indexOf(featureName));
            int testor = getTestor(i);

            obj->addFeature(CFactoryFeature::createFeature(i , value, testor));

        }
        obj->setClass((EClass)query.value(record.indexOf("k")).toInt());
        objects.append(obj);
    }

    return objects;
}
示例#25
0
/**
 * Constructeur qui initialise le client par rapport au info contenu dans la BDD
 * @param identifiant, identifiant du client au sein de la BDD
 */
Customer::Customer(int identifiant){

    QSqlDatabase base = QSqlDatabase::database();
    QSqlQuery query;
    query.prepare("SELECT * FROM customer WHERE idCustomer=:id");
    query.bindValue(":id",identifiant);
    query.exec();

    query.next();
    QSqlRecord rec = query.record();

    m_name=rec.value("name").toString();
    m_adress=rec.value("adress").toString();
    m_adress2=rec.value("adress2").toString();
    m_city=rec.value("city").toString();
    m_country=rec.value("country").toString();
    m_email=rec.value("email").toString();
    m_phone=rec.value("phone").toString();
    m_postalCode=rec.value("postalCode").toInt();
    this->id=identifiant;

    query.finish();
    base.commit();

}
示例#26
0
Handle<BDDAlbum> BDDAlbum::recupererBDD(const int id)
{
    QString queryStr = "SELECT Album, Album_Formate, Id_Pochette, Annee, Type, Id_Artiste FROM Album WHERE Id_Album='" + QString::number(id) + "'";
    QSqlQuery query = madatabase.exec(queryStr);

    QString nom, nomFormate;
    int Annee=0;
    Handle<BDDPoch> pochette(nullptr);
    Handle<BDDArtiste> art(nullptr);
    Handle<BDDType> type(nullptr);

    if ( query.first() )
    {
        QSqlRecord rec = query.record();

        nom = rec.value("Album").toString().replace("$", "'");
        pochette = BDDPoch::recupererBDD(rec.value("Id_Pochette").toInt());
        nomFormate = rec.value("Album_Formate").toString();
        Annee = rec.value("Annee").toInt();
        type = BDDType::RecupererType(rec.value("Type").toInt());
        art = BDDArtiste::recupererBDD(rec.value("Id_artiste").toInt());

    }

    return Handle<BDDAlbum>(new BDDAlbum(id,nom,nomFormate,pochette,Annee,type,art ));
}
示例#27
0
文件: mainwindow.cpp 项目: proton/lau
void MainWindow::setModel()
{
    if(QSqlDatabase::contains(QSqlDatabase::defaultConnection)) {
        db = QSqlDatabase::database();
    } else {
        db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName("d:\\db.db3");
    }
    if (db.open())
    {
    QSqlQueryModel *model = new QSqlQueryModel();
    model->setQuery("SELECT title FROM databases");

    ui->listView->setModel(model);

    }else{
        qDebug()<<QObject::trUtf8("Ошибка");
    }
    QSqlQuery query;

    if (query.exec("SELECT * FROM settings WHERE Setting = 'path';"))
    {
         QSqlRecord rec = query.record();
        while (query.next())
        {
        ui->label_path->setText(query.value(rec.indexOf("VALUE")).toString());
        }
    }else{
        ui->label_path->setText(QObject::tr("Невозможно прочитать путь к файлам"));
    }
}
示例#28
0
QVariant Server::getRoomList(int page)
{
    static const int limit = 10;
    int offset = (page - 1) * 10;

    QSqlQuery query;
    query.prepare("SELECT * FROM `room` WHERE 1 LIMIT :offset,:limit");
    query.bindValue(":offset", offset);
    query.bindValue(":limit", limit);
    query.exec();

    JsonArray data;
    while (query.next()) {
        RoomInfoStruct info(query.record());
        if (info.HostAddress.isEmpty()) {
            Room *room = rooms.value(info.RoomId);
            if (room) {
                info.PlayerNum = room->getPlayers().length();
                if (room->isRunning())
                    info.RoomState = RoomInfoStruct::Playing;
                else if (room->isFinished())
                    info.RoomState = RoomInfoStruct::Finished;
                else
                    info.RoomState = RoomInfoStruct::Playing;
            } else {
                continue;
            }
        }
        data << info.toQVariant();
    }

    return data;
}
bool ExamplesContentProvider::loadExamples( int senseId, QList< std::shared_ptr< ExamplesData > >& examples )
{
    ExamplesDesc desc;

    QString queryStr = "select " + desc.makeBufferingStr() + " from " + desc.getTableName();
            queryStr += " where sense_id=:sense_id";

    QSqlQuery query;
    query.prepare( queryStr );

    query.bindValue( ":sense_id", senseId );

    if( !query.exec() )
        return false;

    QSqlRecord rec = query.record();

    while( query.next() )
    {
        desc.fetch( query, rec );
        examples.append( std::make_shared< ExamplesData >( desc ) );
    }

    return true;
}
示例#30
0
void Positions::fillingModel(QSqlQuery &stored)
{
    m_model->clear();
    m_model->insertColumns(0, MODEL_COLUMN_COUNT);
    m_model->insertRows(0, stored.numRowsAffected());

    unsigned  j(0);
    QString   m_item;

    unsigned ncols = stored.record().count();
#ifndef QT_NO_CURSOR
    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
#endif
    while(stored.next())
    {
        for (unsigned i = 0; i != ncols; ++i) {
            if (stored.value(i).toDateTime().isValid()) {
                m_item = stored.value(i).toDateTime().toString("yyyy-MM-dd hh:mm:ss");
            } else {
                m_item = stored.value(i).toString();
            }
            QStandardItem *item = new QStandardItem(m_item.trimmed());
            if (i == 1) {
                item->setIcon(QIcon("data/picture/sidebar/positions.ico"));
            }
            m_model->setItem(j ,i, item);
        }
        ++j;
    }
#ifndef QT_NO_CURSOR
    QApplication::restoreOverrideCursor();
#endif
}