[C++/QT] Qvariant.toInt() maakt er vreemde tekens van

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • WernerL
  • Registratie: December 2006
  • Laatst online: 10:16
Hallo mensen,

Ik ben bezig met het schrijven van een applicatie in C++ met het QT framework.
Nu wordt er in mijn code een insert query uitgevoerd, en wil ik daar de door SQL gegenereerde ID van weten.

Met deze code zou dat moeten lukken:

code:
1
2
3
4
5
QSqlQuery newproject("INSERT INTO  ... etc");
 QVariant v = newproject.lastInsertId();

qDebug() << v;
qDebug() << v.toInt();


Dit levert deze output op:

QVariant(qlonglong, 6)
"een gek teken die ik blijkbaar niet kan pasten op GoT"


De eerste geeft netjes de juiste ID terug, de 6. Bij de 2e regel zou ik slechts '6' verwachten als output, maar helaas..

Is dit een bug in QT of doe ik gewoon iets gigantisch verkeerd? Want ik vind dit toch maar vreemd gedrag als ik eerlijk ben. Als ik een toInt() functie uitvoer verwacht ik gewoon een int terug te krijgen. :+

[ Voor 3% gewijzigd door WernerL op 14-03-2011 14:00 ]

Roses are red, violets are blue, unexpected '{' on line 32.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als ik een toInt() functie uitvoer verwacht ik gewoon een int terug te krijgen. :+
Ik ben niet bekend met QT maar moet je dan geen itoa gebruiken oid?

[ Voor 13% gewijzigd door RobIII op 14-03-2011 14:25 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

hij zal het wel als character outputten met waarde 6, een ascii ACK.

Acties:
  • 0 Henk 'm!

  • WernerL
  • Registratie: December 2006
  • Laatst online: 10:16
qDebug() << v.toString();

geeft wel de juiste output. Scheelt dat ik hem niet als integer nodig heb, heb de id nodig als ik de record weer wil verwijderen, of voor wat dan ook.. hij komt iig alleen in SQL queries terecht.

Solved dus. :-)

Roses are red, violets are blue, unexpected '{' on line 32.