Example #1
0
void PlaceDialog::save()
{
    QSqlQuery query;

    if (m_placeID == -1) { // add place
        query.prepare(QStringLiteral("INSERT INTO Places (name, lat, lon, comment) "
                                     "VALUES (:name, :lat, :lon, :comment)"));
        //qDebug() << "Adding place with query" << query.lastQuery();
    } else { // update place
        query.prepare(QStringLiteral("UPDATE Places SET name=:name, lat=:lat, lon=:lon, comment=:comment "
                                     "WHERE id=:id"));
        query.bindValue(":id", m_placeID);
    }

    query.bindValue(":name", ui->leName->text());
    query.bindValue(":lat", ui->sbLat->value());
    query.bindValue(":lon", ui->sbLon->value());
    query.bindValue(":comment", ui->teComment->toPlainText());

    if (!query.exec()) {
        qWarning() << Q_FUNC_INFO << "Query failed with" << query.lastError().text();
        return;
    }

    if (query.lastInsertId().isValid())
        m_placeID = query.lastInsertId().toInt();
}
void DialogMySQLConfig::on_toolButton_add_maker_clicked()
{
QApplication::setOverrideCursor(Qt::WaitCursor);
	QSqlQuery query;
	query.prepare("INSERT INTO makers(maker,header) VALUES(?,?)");
	query.addBindValue(m_ui->comboBox_makers->currentText());
	query.addBindValue(m_ui->textEdit_doc_header->toHtml());
	int l_maker=-1;
	if(query.exec()) {
		if(query.lastInsertId().isValid()) {
			l_maker=query.lastInsertId().toInt();
		}
	}
	m_ui->comboBox_makers->setMaxCount(0);
	query.prepare("SELECT * FROM makers  ORDER BY id");
	if (query.exec()){
		m_ui->comboBox_makers->setMaxCount(1000);
		while (query.next()) {
			m_ui->comboBox_makers->addItem(query.value(1).toString(),query.value(0).toString());
		}
	}
QApplication::restoreOverrideCursor();
	if(l_maker >=0 ) {
		m_ui->comboBox_makers->setCurrentIndex( m_ui->comboBox_makers->findData(l_maker));
		QMessageBox::information(this, trUtf8("Добавлено"),trUtf8("Добавлен новый поставщик"));
	}
}
Example #3
0
int	sqlo::addgroup(project *p, QString nameproject, QString name, int groupparent, int type, QString description, int gquestion, int id)
{
	QSqlQuery qry;

	if (id != -1)
		qry.prepare(("UPDATE project_" + p->name + "_groupe Set groupname=?, groupparent=?, type=?, description=?, gquestion=? WHERE id=?;"));
	else
		qry.prepare( "INSERT INTO project_" + nameproject + "_groupe (groupname ,groupparent ,type, description, gquestion) VALUES ( ?, ?, ?, ?, ? );" );
	qry.addBindValue(name);
	qry.addBindValue(QString::number(groupparent));
	qry.addBindValue(QString::number(type));
	qry.addBindValue(description);
	qry.addBindValue(gquestion);
	if (id != -1)
		qry.addBindValue(id);
	if( !qry.exec() )
		qDebug() << qry.lastError();
	else
		qDebug() << "groupe insert success!";
	if (id == -1)
		p->addgroup(name, groupparent, qry.lastInsertId().toInt(), type, description, gquestion);
	else
	{
		vector<group> *tmp = (type == 0) ? &p->listgroup : &p->listqgroup;
		(*tmp)[id].parentid = groupparent;
		(*tmp)[id].type = type;
		(*tmp)[id].description = description;
		(*tmp)[id].name = name;
		(*tmp)[id].gquestion = gquestion;
	}
	return (qry.lastInsertId().toInt());
}
Example #4
0
void SampleModel::saveItems()
{
    QSqlQuery *query = new QSqlQuery(DatabaseAccessor::getDb());
    QSqlQuery *query_1 = new QSqlQuery(DatabaseAccessor::getDb());

    QString sql = "";
    QString sql_items = "";
    int pos = -1;

    sql = "INSERT INTO sample (sample_set_id, location_id, sample_date, water_type_id, comment) ";
    sql += "VALUES (:sample_set_id,:location_id,:date,:water_id,:comment)";
    query->prepare(sql);

    sql_items = "INSERT INTO item_sample (sample_set_id, sample_id, item_id, value) VALUES (:set_id,:s_id, :i_id, :value)";
    query_1->prepare(sql_items);

    //Сохраняется информаци о пробе, без указания: какие параметры  в ней содержатся.
    //Параметры пробы могут быть сохранены только при обновлении пробы

    while (!items_to_save.empty())
    {
        query->bindValue(":sample_set_id",Names::sample_set_id);
        query->bindValue(":location_id",items_to_save.first()->getLocationId());
        query->bindValue(":water_id", items_to_save.first()->getWaterId());
        query->bindValue(":date", items_to_save.first()->getDate().toString("yyyy-MM-dd hh:mm"));
        query->bindValue(":comment", items_to_save.first()->getComment());
        query->exec();

        pos = findItemInPosition(items_to_save.first()->getPosition());
        items[pos]->setId(query->lastInsertId().toUInt());
        QHash<unsigned int, ItemInSample>::iterator i;
        unsigned int s_id = 0;
        s_id = query->lastInsertId().toUInt();


        for (i = items_to_save.first()->getComponents()->begin(); i != items_to_save.first()->getComponents()->end(); i ++)
        {
            query_1->bindValue(":set_id", Names::sample_set_id);
            query_1->bindValue(":s_id", s_id);
            query_1->bindValue(":i_id",i.value().getItemId());
            query_1->bindValue(":value",i.value().getValue());
            query_1->exec();
        }

//            iter->setChanged(0);



//        }//for (i = items_to_update.first()->getComponents()->begin(); i != items_to_update.first()->getComponents()->end(); i ++)
        items_to_save.removeFirst();
    }
    delete query;
}
Example #5
0
/*! Adds a test network to the database with known properties */
void TestDao::addTestNetwork1(){
    //Initialize everything to do with the test network
    resetTestNetwork1();

    //Add network with known properties
    QSqlQuery query = getQuery("INSERT INTO Networks (Name, Description) VALUES ('testNetwork1Name', 'testNetwork1Description')");
    executeQuery(query);
    testNetID = query.lastInsertId().toUInt();

	//Add two neuron groups with neuron type 1
    QString queryStr = "INSERT INTO NeuronGroups (NetworkID, Name, Description, Parameters, NeuronTypeID ) VALUES (";
    queryStr += QString::number(testNetID) + ", " + "'name1', 'desc1', '" + getConnectionParameterXML() + "', 1)";
    query = getQuery(queryStr);
    executeQuery(query);
    neurGrp1ID = query.lastInsertId().toUInt();
	executeQuery("INSERT INTO IzhikevichExcitatoryNeuronParameters (NeuronGroupID) VALUES (" + QString::number(neurGrp1ID) + ")");

    queryStr = "INSERT INTO NeuronGroups (NetworkID, Name, Description, Parameters, NeuronTypeID ) VALUES (";
    queryStr += QString::number(testNetID) + ", " + "'name2', 'desc2', '" + getNeuronParameterXML() + "', 1)";
    query = getQuery(queryStr);
    executeQuery(query);
    neurGrp2ID = query.lastInsertId().toUInt();
	executeQuery("INSERT INTO IzhikevichExcitatoryNeuronParameters (NeuronGroupID) VALUES (" + QString::number(neurGrp2ID) + ")");

    //Create connection group between the two neuron groups
    queryStr = "INSERT INTO ConnectionGroups (NetworkID, Description, FromNeuronGroupID, ToNeuronGroupID, Parameters, SynapseTypeID ) VALUES (";
    queryStr += QString::number(testNetID) + ", 'conngrpdesc1', " + QString::number(neurGrp1ID) + ", " + QString::number(neurGrp2ID) + ", '" + getConnectionParameterXML() + "', 1)";
    query = getQuery(queryStr);
    executeQuery(query);
    connGrp1ID = query.lastInsertId().toUInt();

    //Add neurons to the groups, storing database id in testNeurIDList
    testNeurIDList.clear();
    testNeurIDList.append(addTestNeuron(neurGrp1ID, -1, -5, -6));
    testNeurIDList.append(addTestNeuron(neurGrp1ID, 0, -1, 0));
    testNeurIDList.append(addTestNeuron(neurGrp1ID, 9, -4, 0));
    testNeurIDList.append(addTestNeuron(neurGrp2ID, 0, -1, 10));
    testNeurIDList.append(addTestNeuron(neurGrp2ID, -3, -7, 5));

    //Add test connections
	testConnIDList.append(addTestConnection(connGrp1ID, testNeurIDList[0], testNeurIDList[1], 0.1, 1.1));//0
	testConnIDList.append(addTestConnection(connGrp1ID, testNeurIDList[0], testNeurIDList[2], 0.2, 1.2));//1
	testConnIDList.append(addTestConnection(connGrp1ID, testNeurIDList[0], testNeurIDList[3], 0.3, 1.3));//2
	testConnIDList.append(addTestConnection(connGrp1ID, testNeurIDList[4], testNeurIDList[3], 0.4, 1.4));//3
	testConnIDList.append(addTestConnection(connGrp1ID, testNeurIDList[4], testNeurIDList[1], 0.5, 1.5));//4
	testConnIDList.append(addTestConnection(connGrp1ID, testNeurIDList[3], testNeurIDList[2], 0.6, 1.6));//5

	executeQuery("INSERT INTO IzhikevichSynapseParameters (ConnectionGroupID) VALUES (" + QString::number(connGrp1ID) + ")");

}
Example #6
0
int DatabaseManager::insertCliente(QString nombre, QString apellido, QString empresa, QString email, QString telefonofijo, QString telefonocelular,QString direccion, int ciudades_cp)
{
    if(!db.open()){  QMessageBox::critical(0,"Database Error",db.lastError().text()); return -2; }

    QSqlQuery preQuery;
    preQuery.exec(QString("SELECT idcliente FROM clientes  WHERE nombre = '%1' AND apellido = '%2' AND empresa = '%3' AND email = '%4' AND telefonofijo = '%5' AND telefonocelular = '%6' AND direccion = '%7' AND ciudades_cp = '%8' LIMIT 1;"
                          ).arg(nombre).arg(apellido).arg(empresa).arg(email).arg(telefonofijo).arg(telefonocelular).arg(direccion).arg(ciudades_cp));

    if(preQuery.next())
    {
        //There is a record in the table with this same information
        qDebug() << "Client already exist";
        return preQuery.value(0).toInt();

    }

    QSqlQuery query;
    bool ret = query.exec(QString("INSERT INTO clientes (nombre, apellido, empresa, email, telefonofijo, telefonocelular, direccion, ciudades_cp) VALUES('%1','%2','%3','%4','%5','%6','%7','%8');"
                                              ).arg(nombre).arg(apellido).arg(empresa).arg(email).arg(telefonofijo).arg(telefonocelular).arg(direccion).arg(ciudades_cp));
    if(ret)
    {
        return query.lastInsertId().toInt();
    }
    else
    {
        qDebug() << query.lastError().text();
        return -1;
    }
}
Example #7
0
int DatabaseManager::insertTransaccion(QString idserie,QString prioridad, QString accesorios, QString observaciones, int clientes_idcliente, int balanzas_idbalanza, QString prestables_idprestable, int ubicaciones_idubicacion, QString dateTime)
{
    if(!db.open()){  QMessageBox::critical(0,"Database Error",db.lastError().text()); return -2; }

    QSqlQuery preQuery;
    preQuery.exec(QString("SELECT idtransaccion FROM transacciones WHERE idserie = '%1' AND clientes_idcliente = '%2' AND balanzas_idbalanza = '%3' AND fecha_retirada IS NULL LIMIT 1;"
                          ).arg(idserie).arg(clientes_idcliente).arg(balanzas_idbalanza));
    if(preQuery.next())
    {
        //There is a record in the table with this same information
        qDebug() << "Transaction already exist";
        return preQuery.value(0).toInt();

    }

    QSqlQuery query;
    bool ret = query.exec(QString("INSERT INTO transacciones (idserie, prioridad, accesorios, observaciones, clientes_idcliente, balanzas_idbalanza, prestables_idprestable, ubicaciones_idubicacion, fecha_ingresada) VALUES('%1','%2','%3','%4','%5','%6',%7,'%8','%9');"
                                              ).arg(idserie).arg(prioridad).arg(accesorios).arg(observaciones).arg(clientes_idcliente).arg(balanzas_idbalanza).arg(prestables_idprestable).arg(ubicaciones_idubicacion).arg(dateTime));


    if(ret)
    {
        return query.lastInsertId().toInt();
    }
    else
    {
        qDebug() << query.lastError().text();
        qDebug() << query.lastQuery();
        return -1;
    }

}
Example #8
0
bool DbManager::addPerson(const Person *person) {
    if(person && person->isSufficient()) {
        QSqlQuery query;
        QString query_string = "INSERT INTO people (first_name, last_name, personal_code, job, email, phone) "
                                "VALUES (:first_name, :last_name, :personal_code, :job, :email, :phone)";
        query.prepare(query_string);
        query.bindValue(":first_name",       person->getFirst_name());
        query.bindValue(":last_name",        person->getLast_name());
        query.bindValue(":personal_code",    person->getPersonal_code());
        query.bindValue(":job",              person->getJob());
        query.bindValue(":email",            person->getEmail());
        query.bindValue(":phone",            person->getPhone());

        if(query.exec()) {
            int id_person = query.lastInsertId().toInt();
            addAddress(id_person, person->getAddress());
            int id_license = getIdLicense(person->getLicense());
            if(id_license > 0) {
                addLicenseToPerson(id_person, id_license, person->getDateOfIssue());
            }

            return true;
        }
    }
    return false;
}
Example #9
0
void ChannelWatcher::storeContactInfo()
{
    QSqlQuery insertContactIdQuery;
    insertContactIdQuery.prepare(QStringLiteral("INSERT INTO contactData VALUES (NULL, :contactId, :displayName);"));
    insertContactIdQuery.bindValue(QStringLiteral(":contactId"), m_channel->targetContact()->id());

    const KPeople::PersonData person(QStringLiteral("ktp://") + m_accountObjectPath.mid(35) + QStringLiteral("?") + m_channel->targetContact()->id());

    insertContactIdQuery.bindValue(QStringLiteral(":displayName"), person.name());

    if (!m_db.transaction()) {
        qWarning() << "Cannot get a transaction lock for inserting contact data!";
    }

    if (insertContactIdQuery.exec()) {
        m_db.commit();
        m_contactDbId = insertContactIdQuery.lastInsertId().toUInt();
    } else {
        qWarning() << "Inserting contact data into database has failed:" << insertContactIdQuery.lastError().text();
        m_db.rollback();

        // Now we assume here that it failed because of the UNIQUE constraint
        // so try to get the id from the database, assuming it already exists
        QSqlQuery selectContactId;
        selectContactId.prepare(QStringLiteral("SELECT id FROM contactData WHERE targetContact = :targetContact"));
        selectContactId.bindValue(QStringLiteral(":targetContact"), m_channel->targetContact()->id());
        selectContactId.exec();

        if (!selectContactId.lastError().isValid() && selectContactId.first()) {
            m_contactDbId = selectContactId.value(0).toUInt();
        } else {
            qWarning() << "Error while getting contact id from database:" << selectContactId.lastError().text();
        }
    }
}
Example #10
0
void smaas::maasKaydet2(QStringList &listSilinenMaas,QTableWidget* tblMaas)
{
    QSqlQuery query;
    //yeni eklenen kayıtlar
    for(int i=0;i<tblMaas->rowCount();i++)
    {
        if(tblMaas->item(i,dgs.msSutunKayit)->text()=="0")
        {
            query.exec(QString("insert into maas(m_tarih, m_calisan, m_maas, m_ay, m_tur, m_hesap) values ('%1', '%2', '%3', '%4', '%5', '%6')").arg(tblMaas->item(i,dgs.msSutunTarih)->text()).arg(tblMaas->item(i,dgs.msSutunCalisan)->text()).arg(tblMaas->item(i,dgs.msSutunMaas)->text()).arg(tblMaas->item(i,dgs.msSutunAy)->text()).arg(tblMaas->item(i,dgs.msSutunTur)->text()).arg(tblMaas->item(i,dgs.msSutunHesap)->text()));
            tblMaas->item(i,dgs.msSutunKayit)->setText(query.lastInsertId().toString());
        }
    }
    ////////////////////////
    //silinen kayıtlar
    for(int i=0;i<listSilinenMaas.count();i++)
    {
        query.exec(QString("delete from maas where m_id='%1'").arg(listSilinenMaas.at(i)));
    }
    //////////////////////
    //değiştirilen kayıtlar
    for(int i=0;i<tblMaas->rowCount();i++)
    {
        if(tblMaas->item(i,dgs.msSutunDegisim)->text()=="1")
        {
            query.exec(QString("update maas set m_tarih='%1', m_calisan='%2', m_maas='%3', m_ay='%4', m_tur='%5', m_hesap='%7' where m_id='%6'").arg(tblMaas->item(i,dgs.msSutunTarih)->text()).arg(tblMaas->item(i,dgs.msSutunCalisan)->text()).arg(tblMaas->item(i,dgs.msSutunMaas)->text()).arg(tblMaas->item(i,dgs.msSutunAy)->text()).arg(tblMaas->item(i,dgs.msSutunTur)->text()).arg(tblMaas->item(i,dgs.msSutunKayit)->text()).arg(tblMaas->item(i,dgs.msSutunHesap)->text()));
            tblMaas->item(i,dgs.msSutunDegisim)->setText("0");
        }
    }
    /////////////////////
}
void CSinglePrealertEdit::on_buttonBox_accepted()
{
    if(m_newAlert)
    {

        for(int j = 0; j < m_Prealerts->count(); j++)
        {
            QSqlQuery lqry;
            lqry.prepare("INSERT INTO tblPrealert (DDate, PersID) VALUES (:Date, :PID);");
            lqry.bindValue(":Date", m_Prealerts->at(j).Date().toString("yyyy-MM-dd"));
            lqry.bindValue(":PID", m_actPers->id());
            lqry.exec();
            int ppid = lqry.lastInsertId().toInt();

            for(int i = 0; i < m_paTypes->count(); i++)
            {
                QSqlQuery ltqry;
                ltqry.prepare("INSERT INTO tblPATypes (PAID, TypeID) VALUES (:PAID, :TID);");
                ltqry.bindValue(":PAID", ppid);
                ltqry.bindValue(":TID", m_paTypes->at(i).type()->id());
                ltqry.exec();
            }

        }

    }
    else
    {

    }

    close();
}
Example #12
0
/*!
*   \brief insert a new obj into the table behaviortask
*   \param obj a pointer to the object with of the new obj
*   \return an integer id of new row
*   \retval -1 if fail.
*/
int BehaviorTaskDAO::insert(BehaviorTaskObject * obj) {
    if(!db->isOpen())
        db->open();

        QSqlQuery query;
        bool ret = query.exec(QString("insert into behaviortask values ( NULL, %1, %2, %3, %4, %5, '%6')")
                              .arg(obj->getIDConn())
                              .arg(obj->getIDSubject())
                              .arg(obj->getIDTask())
                              .arg(obj->getTimeStart())
                              .arg(obj->getTimeEnd())
                              .arg(obj->getLabel()));
        int newId = -1;
        // Get database given autoincrement value
        if (ret)
        {
            newId = query.lastInsertId().toInt();
        }else{
            qCritical() << query.lastQuery();
            qCritical() << query.lastError();
            qCritical() << db->lastError();
        }

    db->close();
    return newId;
}
Example #13
0
void Message::addToDb()
{
    QSqlQuery query;

    query.prepare("INSERT INTO message ("
                  "direction, state, conversation_id, conversation, message_id, composed_time, received_time, content, signature, sender, encoding"
                  ") VALUES ("
                  ":direction, :state, :conversation_id, :conversation, :message_id, :composed_time, :received_time, :content, :signature, :sender, :encoding"
                  ")");
    assert(data_);
    assert(data_->composedTime.isValid());

    query.bindValue(":direction", static_cast<int>(direction_));
    query.bindValue(":state", static_cast<int>(state_));
    query.bindValue(":conversation_id", conversationId_);
    query.bindValue(":conversation", data_->conversation);
    query.bindValue(":message_id", data_->messageId);
    query.bindValue(":composed_time", data_->composedTime);
    query.bindValue(":received_time", sentReceivedTime_);
    query.bindValue(":content", data_->content);
    query.bindValue(":signature", data_->signature);
    query.bindValue(":sender", data_->sender);
    query.bindValue(":encoding", data_->encoding);


    if(!query.exec()) {
        throw Error(QStringLiteral("Failed to add Message: %1").arg(
                        query.lastError().text()));
    }

    id_ = query.lastInsertId().toInt();

    LFLOG_INFO << "Added message " << data_->messageId.toHex()
               << " to the database with id " << id_;
}
Example #14
0
QVariant Database::addNote(QSqlQuery &q, const QString &rawText, const QString &richText)
{
    q.addBindValue(rawText);
    q.addBindValue(richText);
    q.exec();
    return q.lastInsertId();
}
Example #15
0
QVariant Database::_addDataType(QSqlQuery &q, int id, const QString &name)
{
    q.addBindValue(id);
    q.addBindValue(name);
    q.exec();
    return q.lastInsertId();
}
Example #16
0
bool ModelObject::save()
{
    QSqlQuery query;
    QStringList fields;
    QStringList questionMarks;
    QList<QVariant> values;

    foreach (auto field, mModel->fields())
        if (field != "id")
        {
            fields.append(field);
            values.append(mData[field]);
            questionMarks.append("?");
        }

    if (id() == -1)
    {
        auto fieldString = fields.join(", ");
        auto questionMarkString = questionMarks.join(", ");

        query.prepare(QString("INSERT INTO %1(%2) VALUES(%3)")
                      .arg(mModel->databaseTable()).arg(fieldString).arg(questionMarkString));
        foreach (auto value, values)
            query.addBindValue(value);

        mModel->mBotInterface->executeDatabaseQuery(query);

        mData["id"] = query.lastInsertId().toLongLong();

        return BotUtils::getNumRowsAffected(query);
    }
Example #17
0
void sdigergelir::digerGelirKaydet(QStringList &listSilinenDigerGelir, QTableWidget *tblDigerGelir)
{
    QSqlQuery query;
    //yeni eklenen kayıtlar
    for(int i=0;i<tblDigerGelir->rowCount();i++)
    {
        if(tblDigerGelir->item(i,dgs.dglSutunKayit)->text()=="0")
        {
            query.exec(QString("insert into digergelir(dgl_tarih, dgl_isim, dgl_muhatap, dgl_tutar, dgl_aciklama, dgl_hesap) values ('%1', '%2', '%3', '%4', '%5', '%6')").arg(tblDigerGelir->item(i,dgs.dglSutunTarih)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunIsim)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunMuhatap)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunTutar)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunAciklama)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunHesap)->text()));
            tblDigerGelir->item(i,dgs.dglSutunKayit)->setText(query.lastInsertId().toString());
        }
    }
    ////////////////////////
    //silinen kayıtlar
    for(int i=0;i<listSilinenDigerGelir.count();i++)
    {
        query.exec(QString("delete from digergelir where dgl_id='%1'").arg(listSilinenDigerGelir.at(i)));
    }
    //////////////////////
    //değiştirilen kayıtlar
    for(int i=0;i<tblDigerGelir->rowCount();i++)
    {
        if(tblDigerGelir->item(i,dgs.dglSutunDegisim)->text()=="1")
        {
            query.exec(QString("update digergelir set dgl_tarih='%1', dgl_isim='%2', dgl_muhatap='%3', dgl_tutar='%4', dgl_aciklama='%5', dgl_hesap='%6' where dgl_id='%7'").arg(tblDigerGelir->item(i,dgs.dglSutunTarih)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunIsim)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunMuhatap)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunTutar)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunAciklama)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunHesap)->text()).arg(tblDigerGelir->item(i,dgs.dglSutunKayit)->text()));
            tblDigerGelir->item(i,dgs.dglSutunDegisim)->setText("0");
        }
    }
}
Example #18
0
bool AbstractDocument::getArticleId(QString name, int formDirection, int &id)
{
    QSqlQuery sql;

    sql.exec(QString("SELECT ar_id FROM article WHERE ar_name = '%1' AND ar_form_direction = %2")
             .arg(name)
             .arg(formDirection));

    if (sql.lastError().isValid()) {
        qDebug() << sql.lastError();
        return false;
    }

    if (sql.next()) {
        id = sql.value(0).toInt();
    } else {
        sql.exec(QString("INSERT INTO article (ar_name, ar_form_direction,ar_unit) "
                         "VALUES ('%1',%2,(SELECT um_id FROM sy_unit ORDER BY um_default DESC LIMIT 1)) ")
                 .arg(name)
                 .arg(formDirection));

        if (sql.lastError().isValid()) {
            qDebug() << sql.lastError();
            return false;
        }

        id = sql.lastInsertId().toInt();
    }

    return true;
}
/*!
*   \brief insert a new obj into the table behavioreventpacket
*   \param obj a pointer to the object with of the new obj
*   \return an integer id of new row
*   \retval -1 if fail.
*/
int BehaviorEventPacketDAO::insert(BehaviorEventPacketObject * obj) {
    if(!db->isOpen())
        db->open();

        QSqlQuery query;
        bool ret = query.exec(QString("insert into behavioreventpacket values ( NULL, %1, %2, %3, datetime('%4', 'unixepoch', 'localtime'), %5, %6, %7, %8, %9, '%10')")
                              .arg(obj->getIDTask())
                              .arg(obj->getPort())
                              .arg(obj->getIDPacket())
                              .arg(obj->getTimeServer())
                              .arg(obj->getTimeSec())
                              .arg(obj->getTimeUSec())
                              .arg(obj->getPin())
                              .arg(obj->getTypeEvent())
                              .arg(obj->getTypePin())
                              .arg(obj->getPinContext()));
        int newId = -1;
        // Get database given autoincrement value
        if (ret)
        {
            newId = query.lastInsertId().toInt();
        }else{
            qCritical() << query.lastQuery();
            qCritical() << query.lastError();
            qCritical() << db->lastError();
        }

    db->close();
    return newId;
}
Example #20
0
QSharedPointer<Tag> Tag::getOrCreate(TagType type, QString &name)
{
    QSqlQuery query;
    query.prepare("SELECT * FROM " TABLE_Tags " WHERE " KEY_Tag_Type " = ? AND " KEY_Tag_Name " = ?");
    query.addBindValue(QVariant((int)type));
    query.addBindValue(QVariant(name));
    query.exec();

    if(query.next())
        return QSharedPointer<Tag>(new Tag(query));
    else
    {
        Tag *tag = new Tag(type, name);
        query.prepare("INSERT INTO " TABLE_Tags " (" KEY_Tag_Type ", " KEY_Tag_Name ") VALUES(?, ?)");
        query.addBindValue(QVariant((int)type));
        query.addBindValue(QVariant(name));

        if(!query.exec())
        {
            QLOG_ERROR() << "Failed to insert tag: " + query.lastError().text();
            return QSharedPointer<Tag>();
        }
        else
        {
            tag->setId(query.lastInsertId().toInt());
        }

        return QSharedPointer<Tag>(tag);
    }
}
Example #21
0
int AgregarCarga::guardar(){
    if(validarCarga())
    {
        QSqlQuery query;

        query.prepare("insert into cargas (fecha, grano, cosecha, kilos, lugar_carga, tipo, observaciones, en_deposito, cliente, carta_porte) "
                                 "values(:fecha,:grano,:cosecha, :kilos, :lugar_carga, :tipo, :observaciones, :deposito, :cliente, :carta_porte)");
        query.bindValue(":fecha", ui->fecha->date());
        query.bindValue(":grano", ui->grano->itemData(ui->grano->currentIndex()).toInt());
        query.bindValue(":cosecha", ui->cosecha->currentText());
        query.bindValue(":kilos", ui->kilos->text().toDouble());
        query.bindValue(":lugar_carga",  ui->origen->itemData(ui->origen->currentIndex()).toInt());
        query.bindValue(":tipo", ui->tipo->currentText().toInt());
        query.bindValue(":observaciones", ui->observaciones->toPlainText());
        query.bindValue(":deposito", 1);
        query.bindValue(":cliente", ui->cliente->itemData(ui->cliente->currentIndex()).toLongLong());
        query.bindValue(":carta_porte", ui->cPorte->text().toLongLong());
        if(!query.exec())
        {
            QMessageBox::warning(0, QObject::tr("Advertencia"),"Ha ocurrido un error, por favor inténtelo nuevamente");
            return -1;
        }
        else
        {
            this->accept();
            return query.lastInsertId().toInt();
        }
    }
    return -1;
}
Example #22
0
QVariant DatabaseManager::insertRentItem(const QVariant& name,
                                         const QVariant& cost)
{
    RentItem item;
    item.m_name = name.toString();
    item.m_cost = cost.toInt();

    bool ret = false;
    int retVal = -1;
    if (db.isOpen()) {
        //item->id = nextId(); // We demostrates autoincrement in this case

        // http://www.sqlite.org/autoinc.html
        // NULL = is the keyword for the autoincrement to generate next value

        QSqlQuery query;
        ret = query.prepare("INSERT INTO rentitem (name, cost) "
                            "VALUES (:name, :cost)");
        if (ret) {
            query.bindValue(":name", item.m_name);
            query.bindValue(":cost", item.m_cost);
            ret = query.exec();
        }

        // Get database given autoincrement value
        if (ret) {
            // http://www.sqlite.org/c3ref/last_insert_rowid.html  
            item.m_id = query.lastInsertId().toInt();
            retVal = item.m_id;
        }
    }
    return QVariant(retVal);
}
void AddExternalRecitalPieceDialog::accept()
{
    //zuerst Komponist suchen oder hinzufügen
    if(ui->lineEdit_composer->text().isEmpty() || ui->lineEdit_title->text().isEmpty() || ui->plainTextEdit_musician->toPlainText().isEmpty()) {
        QMessageBox::warning(this, tr("Qupil"),
                             QString::fromUtf8(tr("Sie müssen mindestens die Felder \"Komponist\", \"Titel\" und \"Musiker\" ausfüllen\n um den Eintrag hinzuzufügen!").toStdString().c_str()),
                             QMessageBox::Ok);
    } else {

        QSqlQuery query;
        query.prepare("INSERT INTO externalrecitalpiece (composer, title, genre, duration, musician) VALUES (?, ?, ?, ?, ?)");
        query.addBindValue(ui->lineEdit_composer->text());
        query.addBindValue(ui->lineEdit_title->text());
        query.addBindValue(ui->lineEdit_genre->text());
        query.addBindValue(ui->spinBox_duration->value());
        query.addBindValue(ui->plainTextEdit_musician->toPlainText());
        query.exec();
        if (query.lastError().isValid()) {
            qDebug() << "DB Error: 225 - " << query.lastError();
        } else {

            QSqlQuery query2;
            query2.prepare("INSERT INTO pieceatrecital (pieceid, recitalid, ifexternalpiece) VALUES (?, ?, 1)");
            query2.addBindValue(query.lastInsertId().toInt());
            query2.addBindValue(currentRecitalId);
            query2.exec();
            if (query2.lastError().isValid()) {
                qDebug() << "DB Error: 226 - " << query2.lastError();
            }

        }

        QDialog::accept();
    }
}
Example #24
0
QVariant SQLconnector::addLienTheme(QSqlQuery &q, const QVariant &ArticleID, const QVariant &ThemeID)
{
    q.addBindValue(ArticleID);
    q.addBindValue(ThemeID);
    q.exec();
    return q.lastInsertId();
}
Example #25
0
void ChannelWatcher::storeAccountInfo()
{
    QSqlQuery insertAccountObjectPathQuery;
    insertAccountObjectPathQuery.prepare(QStringLiteral("INSERT INTO accountData VALUES (NULL, :accountObjectPath);"));
    insertAccountObjectPathQuery.bindValue(QStringLiteral(":accountObjectPath"), m_accountObjectPath);

    if (!m_db.transaction()) {
        // no special handling is required as commit()/rollback() will do nothing
        // if no transaction exists
        qWarning() << "Cannot get a transaction lock for inserting account data!";
    }

    if (insertAccountObjectPathQuery.exec()) {
        m_db.commit();
        m_accountDbId = insertAccountObjectPathQuery.lastInsertId().toUInt();
    } else {
        qWarning() << "Inserting account data into database has failed:" << insertAccountObjectPathQuery.lastError().text();
        m_db.rollback();

        // Now we assume here that it failed because of the UNIQUE constraint
        // so try to get the id from the database, assuming it already exists
        QSqlQuery selectAccountId;
        selectAccountId.prepare(QStringLiteral("SELECT id FROM accountData WHERE accountObjectPath = :accountObjectPath"));
        selectAccountId.bindValue(QStringLiteral(":accountObjectPath"), m_accountObjectPath);
        selectAccountId.exec();

        if (!selectAccountId.lastError().isValid() && selectAccountId.first()) {
            m_accountDbId = selectAccountId.value(0).toUInt();
        } else {
            qWarning() << "Error while getting account id from database:" << selectAccountId.lastError().text();
        }
    }
}
Example #26
0
int DatabaseManager::insertUbicacion(QString etiqueta, int dimension)
{
    if(!db.open()){  QMessageBox::critical(0,"Database Error",db.lastError().text()); return -2;}

    QSqlQuery preQuery;
    preQuery.exec(QString("SELECT idubicacion FROM ubicaciones WHERE etiqueta = '%1' AND dimension = '%2' LIMIT 1;"
                          ).arg(etiqueta).arg(enumBalanzaSize.at(dimension)));

    if(preQuery.next())
    {
        //There is a record in the table with this same information
        qDebug() << "Ubicacion already exist";
        return preQuery.value(0).toInt();
    }
    QSqlQuery query;

    bool ret = query.exec(QString("INSERT INTO ubicaciones (etiqueta, dimension) VALUES('%1','%2');"
                                              ).arg(etiqueta).arg(dimension));
    if(ret)
    {
        return query.lastInsertId().toInt();
    }
    else
    {
        qDebug() << query.lastError().text();
        return -1;
    }
}
Example #27
0
void scek::cekKaydet2(QStringList &listSilinenCek, QTableWidget* tblCek)
{
    QSqlQuery query;
    //yeni eklenen kayıtlar
    for(int i=0;i<tblCek->rowCount();i++)
    {
        if(tblCek->item(i,dgs.ckSutunKayit)->text()=="0")
        {
            query.exec(QString("insert into cek(c_tarih, c_isim, c_banka, c_tutar,c_muhatap, c_cekno, c_aciklama, c_tur) values ('%1', '%2', '%3', '%4', '%5', '%6', '%7', '%8')").arg(tblCek->item(i,dgs.ckSutunTarih)->text()).arg(tblCek->item(i,dgs.ckSutunIsim)->text()).arg(tblCek->item(i,dgs.ckSutunBanka)->text()).arg(tblCek->item(i,dgs.ckSutunTutar)->text()).arg(tblCek->item(i,dgs.ckSutunMuhatap)->text()).arg(tblCek->item(i,dgs.ckSutunCekNo)->text()).arg(tblCek->item(i,dgs.ckSutunAciklama)->text()).arg(tblCek->item(i,dgs.ckSutunTur)->text()));
            tblCek->item(i,dgs.ckSutunKayit)->setText(query.lastInsertId().toString());
        }
    }
    ////////////////////////
    //silinen kayıtlar
    for(int i=0;i<listSilinenCek.count();i++)
    {
        query.exec(QString("delete from cek where c_id='%1'").arg(listSilinenCek.at(i)));
    }

    //////////////////////
    //değiştirilen kayıtlar
    for(int i=0;i<tblCek->rowCount();i++)
    {
        if(tblCek->item(i,dgs.ckSutunDegisim)->text()=="1")
        {
            query.exec(QString("update cek set c_tarih='%1', c_isim='%2', c_banka='%3', c_tutar='%4',c_muhatap='%5',c_cekno='%6', c_aciklama='%7', c_tur='%8' where c_id='%9'").arg(tblCek->item(i,dgs.ckSutunTarih)->text()).arg(tblCek->item(i,dgs.ckSutunIsim)->text()).arg(tblCek->item(i,dgs.ckSutunBanka)->text()).arg(tblCek->item(i,dgs.ckSutunTutar)->text()).arg(tblCek->item(i,dgs.ckSutunMuhatap)->text()).arg(tblCek->item(i,dgs.ckSutunCekNo)->text()).arg(tblCek->item(i,dgs.ckSutunAciklama)->text()).arg(tblCek->item(i,dgs.ckSutunTur)->text()).arg(tblCek->item(i,dgs.ckSutunKayit)->text()));
            tblCek->item(i,dgs.ckSutunDegisim)->setText("0");
        }
    }
    /////////////////////
}
Example #28
0
int DatabaseManager::insertPrestable(QString idserie, QString observaciones, int balanzas_idbalanza)
{
    if(!db.open()){  QMessageBox::critical(0,"Database Error",db.lastError().text()); return -2;}

    QSqlQuery preQuery;
    preQuery.exec(QString("SELECT idprestable FROM prestables WHERE idserie = '%1' AND observaciones = '%2' AND balanzas_idbalanza = '%3' LIMIT 1;"
                          ).arg(idserie).arg(observaciones).arg(balanzas_idbalanza));

    if(preQuery.next())
    {
        //There is a record in the table with this same information
        qDebug() << "Prestable already exist";
        return preQuery.value(0).toInt();
    }
    QSqlQuery query;

    bool ret = query.exec(QString("INSERT INTO prestables (idserie, observaciones, balanzas_idbalanza) VALUES('%1','%2','%3');"
                                              ).arg(idserie).arg(observaciones).arg(balanzas_idbalanza));
    if(ret)
    {
        return query.lastInsertId().toInt();
    }
    else
    {
        qDebug() << query.lastError().text();
        return -1;
    }
}
Example #29
0
int DatabaseManager::insertBalanza(QString marca, QString modelo, int dimension)
{
    if(!db.open()){  QMessageBox::critical(0,"Database Error",db.lastError().text()); return -2;}

    QSqlQuery preQuery;
    preQuery.exec(QString("SELECT idbalanza FROM balanzas WHERE marca = '%1' AND modelo = '%2' AND dimension = '%3' LIMIT 1;"
                          ).arg(marca).arg(modelo).arg(enumBalanzaSize.at(dimension)));

    if(preQuery.next())
    {
        //There is a record in the table with this same information
        qDebug() << "Balanza already exist";
        return preQuery.value(0).toInt();
    }
    QSqlQuery query;

    bool ret = query.exec(QString("INSERT INTO balanzas (marca, modelo, dimension) VALUES('%1','%2','%3');"
                                              ).arg(marca).arg(modelo).arg(enumBalanzaSize.at(dimension)));
    if(ret)
    {
        return query.lastInsertId().toInt();
    }
    else
    {
        qDebug() << query.lastError().text();
        return -1;
    }
}
Example #30
0
bool ValidDocument::createEntry(){
    QSqlDatabase base = QSqlDatabase::database();
    bool retour=false;

    QSqlQuery query;
    query.prepare("INSERT INTO DocumentValide (idCustomer,price,type,payment,date,view,tva) VALUES (:idCustomer,:price,:type,:payment,:date,:view,:tva )");
    query.bindValue(":idCustomer",idCustomer);
    query.bindValue(":price",price);
    query.bindValue(":type",docType);
    query.bindValue(":payment",payment);
    query.bindValue(":date",mdate.toString("yyyy-MM-dd"));
    query.bindValue(":view",view);
    query.bindValue(":tva",tva);

    retour=query.exec();

    if(retour)
        id=query.lastInsertId().toInt();

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


    Document d(idDocument);
    d.remove();


    return retour;

}