query.executedQuery()
query.executedQuery()
hallo
Also im Manual steht das die Funktion executedQuery()
von QSqlQuery als Rückgabewert einen QString hat.
Und in meinen Lehrgangsunterlagen steht das %s
das richtige Formatzeichen für Strings ist.
Somit sollte also folgendes ohne Probleme funktionieren:
qDebug("SQL-Text: %s",query.executedQuery())
Leider ist der Compiler anderer Meinung, er sagt das
executedQuery() einen int Rückgabewert hat.
Wer verrät mir bitte was ich hier falsch mache?
Ich könnte diese Funktion wirklich gut gebrauchen.
Vielen Dank im voraus.
mfg
Also im Manual steht das die Funktion executedQuery()
von QSqlQuery als Rückgabewert einen QString hat.
Und in meinen Lehrgangsunterlagen steht das %s
das richtige Formatzeichen für Strings ist.
Somit sollte also folgendes ohne Probleme funktionieren:
qDebug("SQL-Text: %s",query.executedQuery())
Leider ist der Compiler anderer Meinung, er sagt das
executedQuery() einen int Rückgabewert hat.
Wer verrät mir bitte was ich hier falsch mache?
Ich könnte diese Funktion wirklich gut gebrauchen.
Vielen Dank im voraus.
mfg
-
Querdenker
- Beiträge: 99
- Registriert: 1. Dezember 2005 17:44
- Wohnort: Karlsruhe
Der einfache weg ist alles zu QString rausholen.... aus der db....
QString(query.value(loop).toString())
wenn noetig kann man die int immer noch finden......
Das ist ein dump export zu xml....
QString(query.value(loop).toString())
wenn noetig kann man die int immer noch finden......
Code: Alles auswählen
bool is_numeric(QString incomming)
{
incomming.replace(QString(" "), QString("")); /* trimm */
QString str2 = incomming;
bool ok;
str2.toFloat(&ok);
return ok;
}
Das ist ein dump export zu xml....
Code: Alles auswählen
void Gui_Starter::TablesDumpXML(QString t,QString file)
{
QString tablequery ="SELECT * FROM "+t; /* table */
QString line;
QString rowone;
QSqlQuery query;
query.exec(tablequery);
QSqlRecord rec = query.record(); /* nummer col */
int numcol = rec.count();
int loop;
while (query.next()) {
line="";
/* rows */
file_put_contents_append(file,"<rows>");
for(loop=0; loop < numcol; loop++) {
rowone = XML_utf8(query.value(loop).toString());
/* rowone.replace(QString("'"), QString("\'")); XML_utf8 quote! */
if (!is_numeric(rowone)){
rowone = QString( "'%1'" ).arg( rowone );
file_put_contents_append(file,"<row name=\""+rec.fieldName(loop)+"\" type=\"string\">"+XML_utf8(query.value(loop).toString())+"</row>");
} else {
file_put_contents_append(file,"<row name=\""+rec.fieldName(loop)+"\" type=\"digit\">"+XML_utf8(query.value(loop).toString())+"</row>");
}
if (loop !=numcol-1) {
line = line+QString( "%1," ).arg( rowone );
} else {
line = line+rowone;
}
rowone="";
}
/* rows */
line.prepend("INSERT INTO "+t+" VALUES (");
line.append(");");
file_put_contents_append(file,"<sqlrow>"+line+"</sqlrow>\n</rows>");
}
}
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Ehrlich gesagt ich habe noch niee qdebug gebraucht ...
ich mache es auf die simple art..... so kann ich die file vergleichen und auch auslesen nach zeit....
und wenn ich die funktion nicht mehr gebrauche...
schreibe ich return true; hinein....
geht immer .. auf mac,win,linux....
ohne limit... beim programm is sowieso fast alles QString
nur einmal ist es nicht gelaufen als ich "Qstring" irtumlicherweise geschrieben habe...
(kleines s)
ich mache es auf die simple art..... so kann ich die file vergleichen und auch auslesen nach zeit....
und wenn ich die funktion nicht mehr gebrauche...
schreibe ich return true; hinein....
geht immer .. auf mac,win,linux....
ohne limit... beim programm is sowieso fast alles QString
nur einmal ist es nicht gelaufen als ich "Qstring" irtumlicherweise geschrieben habe...
Code: Alles auswählen
bool mydebug(QString fullFileName,QString xml);
bool mydebug(QString fullFileName,QString xml)
{
QString data = QString( "%1 <=logline=> %2 \n" ).arg( int2char( (int)time( NULL ) ) , xml );
QFile f( fullFileName );
if ( f.open( QFile::Append | QFile::Text ) )
{
QTextStream sw( &f );
sw << data;
f.close();
return true;
}
return false;
}
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Auf Linux habe ich gesehen wie die qdebug meldungen kommen... mit http://www.kdevelop.org/ aber wie bekommt man die meldungen im Window? mit einem bat file? oder sowas... mit start optionen...BartSimpson hat geschrieben: Da die Meldung die man ausgibt dann im Debugger.
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Super .... geht....
Aber da kommen sehr wenig info....
Mit meiner logfile methode habe ich wenigstens zeit __FILE__ & __LINE__
Mit AT dort wo ich reinshreibe....
start ausgabe......
bananen
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
Object::connect: Connecting from COMPAT signal (QAction::activated()).
Object::connect: Connecting from COMPAT signal (QAction::activated()).
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
Object::connect: Connecting from COMPAT signal (QAction::activated()).
Object::connect: Connecting from COMPAT signal (QAction::activated()).
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
Gibt es andere debugger die zur laufzeit ... mehr info geben auf window?
Aber da kommen sehr wenig info....
Mit meiner logfile methode habe ich wenigstens zeit __FILE__ & __LINE__
Mit AT dort wo ich reinshreibe....
Code: Alles auswählen
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
#define AT __FILE__":"TOSTRING(__LINE__)" "
bananen
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
Object::connect: Connecting from COMPAT signal (QAction::activated()).
Object::connect: Connecting from COMPAT signal (QAction::activated()).
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
Object::connect: Connecting from COMPAT signal (QAction::activated()).
Object::connect: Connecting from COMPAT signal (QAction::activated()).
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
QString::arg(): Argument missing: _running_sqlclass.log, C:/Documents and Settin
gs/ppk-it/.shop_manager/
Gibt es andere debugger die zur laufzeit ... mehr info geben auf window?