Example #1
0
QSqlRecord DatabaseLayout::formatRecord(const LoggingEvent &rEvent)
{
    QSqlField field;
    QSqlRecord record;

    if (!mTimeStamp.isEmpty())
    {
        field.setName(mTimeStamp);
        field.setType(QVariant::DateTime);
        field.setGenerated(true);
        field.setValue(DateTime::fromMSecsSinceEpoch(rEvent.timeStamp()));
        record.append(field);
    }

    if (!mLoggerName.isEmpty())
    {
        field.setName(mLoggerName);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.loggerName());
        record.append(field);
    }

    if (!mThreadName.isEmpty())
    {
        field.setName(mThreadName);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.threadName());
        record.append(field);
    }

    if (!mLevel.isEmpty())
    {
        field.setName(mLevel);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.level().toString());
        record.append(field);
    }

    if (!mMessage.isEmpty())
    {
        field.setName(mMessage);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.message());
        record.append(field);
    }
    return record;
}
static PyObject *meth_QSqlField_setValue(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const QVariant * a0;
        int a0State = 0;
        QSqlField *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QSqlField, &sipCpp, sipType_QVariant,&a0, &a0State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->setValue(*a0);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<QVariant *>(a0),sipType_QVariant,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QSqlField, sipName_setValue, NULL);

    return NULL;
}
Example #3
0
/*!
    Updates the SQL field with the value from the \a widget it is
    mapped to. Nothing happens if no SQL field is mapped to the \a
    widget.
*/
void Q3SqlForm::writeField(QWidget * widget)
{
    sync();
    QSqlField * field = 0;
    Q3SqlPropertyMap * pmap = (d->propertyMap == 0) ?
                             Q3SqlPropertyMap::defaultMap() : d->propertyMap;
    field = widgetToField(widget);
    if(field)
        field->setValue(pmap->property(widget));
}
Example #4
0
void ContextModel::addNewContext(QString newContext)
{

    if (newContext.isEmpty())
    {
        return;
    }
    QSqlQuery query;
    query.prepare("select count(id) from context where shortdescr like :context");
    query.bindValue(":context", newContext);
    query.exec();
    if (query.next())
    {
        if (query.record().value("count(id)").toInt() > 0)
            return;
    }

    qDebug() << "save new context " << newContext << " in database.";

    QSqlRecord record;
    QSqlField shortDescr = QSqlField("shortdescr", QVariant::String);
    shortDescr.setValue(newContext);
    record.append(shortDescr);
    QSqlField id = QSqlField("id", QVariant::Int);
    shortDescr.setValue(20);
    record.append(id);

    if(!insertRecord( -1, record))
    {
        qDebug("could not create new context.");

    }
    if (!submitAll())
    {
        qDebug("could not create new context.");
    }

    select();
}
Example #5
0
/*!
    Updates the SQL fields with values from the widgets they are
    mapped to. To actually update the database with the contents of
    the record buffer, use Q3SqlCursor::insert(), Q3SqlCursor::update()
    or Q3SqlCursor::del() as appropriate.
*/
void Q3SqlForm::writeFields()
{
    sync();
    QSqlField * f;
    QMap< QWidget *, QSqlField * >::Iterator it;
    Q3SqlPropertyMap * pmap = (d->propertyMap == 0) ?
                             Q3SqlPropertyMap::defaultMap() : d->propertyMap;

    for(it = d->map.begin() ; it != d->map.end(); ++it){
        f = widgetToField(it.key());
        if(!f)
            continue;
        f->setValue(pmap->property(it.key()));
    }
}
bool KalkatiParser::endElement(const QString &uri,const QString &local,const QString &name) {
	signed int i;

	if(name=="Synonym") {
		isSynonym=false;
	} else if(name=="Service") {
		if(servValid<0) return(true);

		QSqlQuery query(db);
		QSqlField nameField;
		QString sql,data,validOld,validNew;
		QTextStream str(&sql);
		nameField.setValue(servName);
		validNew=valid.value(servValid);
		data=servData.join(" ");

//qDebug() << servValid << valid.value(servValid) << valid.value(2);

		str << "SELECT servid,valid FROM servicedata WHERE first=" << servFirst;
		str << " AND long='" << servLong << "' AND data='" << data << "' AND compid=" << servComp;
		str << " AND name='" << driver->formatValue(nameField,true) << "';";

		query.exec(sql);
		query.first();
		if(query.isValid()) {
			QSqlRecord record=query.record();
			servId=record.value(0).toInt();
			validOld=record.value(1).toString();
			for(i=0;i<dayCount;i++) {
				if(validOld[i]=='1') validNew[i]='1';
			}
			sql="";
			str << "UPDATE servicedata SET valid='" << validNew << "' WHERE servid=" << servId << ";";
			query.exec(sql);
		} else {
			sql="";
			str << "INSERT INTO servicedata (servid,mode,first,compid,long,short,name,valid,data) VALUES (" << servId << "," << servMode << "," << servFirst << "," << servComp;
			str << ",'" << servLong << "','" << servShort << "','";
			str << driver->formatValue(nameField,true) << "','" << validNew << "','" << data << "');";
			query.exec(sql);
		}
	}

	return(true);
}
Example #7
0
static QString qCreateParamString(const QVector<QVariant> boundValues, const QSqlDriver *driver)
{
    if (boundValues.isEmpty())
        return QString();

    QString params;
    QSqlField f;
    for (int i = 0; i < boundValues.count(); ++i) {
        const QVariant &val = boundValues.at(i);

        f.setType(val.type());
        if (val.isNull())
            f.clear();
        else
            f.setValue(val);
        if(!params.isNull())
            params.append(QLatin1String(", "));
        params.append(driver->formatValue(f));
    }
    return params;
}
Example #8
0
QSqlRecord QsoEntry::getRecord() const
{
    QSqlRecord record;

    // create a field for each property
    const QMetaObject* obj = metaObject();
    for (int i = 0; i < obj->propertyCount(); i++) {
        QMetaProperty metaProperty = obj->property(i);

        const char* name = metaProperty.name();

        // create field
        QSqlField field;
        field.setName(QLatin1String(name));
        field.setValue(property(name));

        // insert field into record
        record.insert(i, field);
    }

    return record;
}
bool KalkatiParser::startElement(const QString &uri,const QString &local,const QString &name,const QXmlAttributes &attrs) {
	signed int i,l;

	if(isSynonym) {
		return(true);
	}

	if(name=="jp_database") {
	} else if(name=="Delivery") {
	} else if(name=="Language") {
	} else if(name=="Company") {
		QString sql;
		QSqlQuery query(db);
		unsigned int compid;
		QSqlField nameField;

		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="CompanyId") compid=attrs.value(i).toInt();
			if(attrs.localName(i)=="Name") nameField.setValue(attrs.value(i));
		}

		QTextStream str(&sql);
		str << "INSERT INTO company (compid,name) VALUES (" << compid << ",";
		str << "'" << driver->formatValue(nameField,true) << "');";

		query.exec(sql);
	} else if(name=="Country") {
	} else if(name=="Timezone") {
	} else if(name=="Period") {

	} else if(name=="Station") {
		QString sql;
		QSqlQuery query(db);
		unsigned int statid,virt,type,cityid;
		QSqlField statname;
		unsigned int lat,lon;

		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="StationId") statid=attrs.value(i).toInt();
			if(attrs.localName(i)=="Name") statname.setValue(attrs.value(i));
			if(attrs.localName(i)=="X") {
				lon=(attrs.value(i).toDouble()+180)*1000000+0.5;
				lon-=180*1000000;
			}
			if(attrs.localName(i)=="Y") {
				lat=(attrs.value(i).toDouble()+90)*1000000+0.5;
				lat-=90*1000000;
			}
			if(attrs.localName(i)=="isVirtual") virt=attrs.value(i).toInt();
			if(attrs.localName(i)=="Type") type=attrs.value(i).toInt();
			if(attrs.localName(i)=="city_id") cityid=attrs.value(i).toInt();
		}

		QTextStream str(&sql);
		str << "INSERT INTO station (statid,name,lat,lon,virt,type,cityid) VALUES (" << statid << ",";
		str << "'" << driver->formatValue(statname,true) << "',";
		str << lat << "," << lon << "," << virt << "," << type << ",";
		str << cityid << ");";

		query.exec(sql);

	} else if(name=="Trnsmode") {

	} else if(name=="Synonym") {
		isSynonym=true;

	} else if(name=="Footnote") {
		unsigned int y,m,d;
		unsigned int footid;
		signed int offset,days;
		QStringList dateParts;
		QDate firstDate;
		QString bits,bitsOut;

		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="FootnoteId") footid=attrs.value(i).toInt();
			if(attrs.localName(i)=="Firstdate") {
				dateParts=attrs.value(i).split(QChar('-'));
				y=dateParts.at(0).toInt();
				m=dateParts.at(1).toInt();
				d=dateParts.at(2).toInt();
				firstDate=QDate(y,m,d);
			}

			if(attrs.localName(i)=="Vector") {
				bits=attrs.value(i);
				days=bits.length();
			}
		}

		offset=startDate.daysTo(firstDate);

		if(offset<=dayCount && offset+days>0) {
			bitsOut=blankBits;
			for(i=0;i<dayCount;i++) {
				if(i-offset>=0 && i-offset<days) {
					bitsOut[i]=bits[i-offset];
				}
			}
			if(bitsOut!=blankBits) {
				valid.insert(footid,bitsOut);
				qDebug() << footid << bitsOut << firstDate << days;
			}
		}

	} else if(name=="Timetbls") {

	} else if(name=="Service") {
		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="ServiceId") servId=attrs.value(i).toInt();
		}
		servData.clear();
		servFirst=-1;
		servValid=-1;
	} else if(name=="ServiceNbr") {
		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="CompanyId") servComp=attrs.value(i).toInt();
			if(attrs.localName(i)=="ServiceNbr") servLong=attrs.value(i);
			if(attrs.localName(i)=="Variant") servShort=attrs.value(i);
			if(attrs.localName(i)=="Name") servName=attrs.value(i);
		}
	} else if(name=="ServiceValidity") {
		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="FootnoteId") {
				servValid=attrs.value(i).toInt();
				if(!valid.contains(servValid)) servValid=-1;
			}
		}
	} else if(name=="ServiceTrnsmode") {
		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="TrnsmodeId") servMode=attrs.value(i).toInt();
		}
	} else if(name=="Stop") {
		if(servValid<0) return(true);

		QString id,t;

		l=attrs.count();
		for(i=0;i<l;i++) {
			if(attrs.localName(i)=="StationId") id=attrs.value(i);
			if(attrs.localName(i)=="Arrival") t=attrs.value(i);
		}
		if(servFirst<0) servFirst=t.toInt();
		servData.append(id);
		servData.append(t);
	} else {
		qDebug() << name;
	}

	return(true);
}