[gelöst] Q2.value(2).toString() gibt Zeilenvorschub aus
[gelöst] Q2.value(2).toString() gibt Zeilenvorschub aus
hallo
Ich bearbeite in einer Schleife das Ergebnis einer Abfrage mit
dieser Zeilen:
Qstring tx =““;
Qstring mit =“mit“;
while ......
{
tx = tx + mit + Q2.value(2).toString();
mit =“,“;
}
stream << tx << "\n";
Zu meiner Überraschung wird nach jeden Wert ein neuer
Zeilen Vorschub eingefügt.
Ich habe eigentlich so etwas erwartet: mit wert,wert,wert [CR]
Aber ich bekomme folgendes Ergebnis:
mit wert[CR]
,wert[CR]
,wert[CR]
Eigentlich kann nur Q2.value(2).toString() den überflüssigen
Zeilenvorschub einfügen. Kann mir jemand sagen wie ich das
abstellen kann?
PS QT-Hilfe konnte mir zu diesen Thema nicht helfen.
Ich bearbeite in einer Schleife das Ergebnis einer Abfrage mit
dieser Zeilen:
Qstring tx =““;
Qstring mit =“mit“;
while ......
{
tx = tx + mit + Q2.value(2).toString();
mit =“,“;
}
stream << tx << "\n";
Zu meiner Überraschung wird nach jeden Wert ein neuer
Zeilen Vorschub eingefügt.
Ich habe eigentlich so etwas erwartet: mit wert,wert,wert [CR]
Aber ich bekomme folgendes Ergebnis:
mit wert[CR]
,wert[CR]
,wert[CR]
Eigentlich kann nur Q2.value(2).toString() den überflüssigen
Zeilenvorschub einfügen. Kann mir jemand sagen wie ich das
abstellen kann?
PS QT-Hilfe konnte mir zu diesen Thema nicht helfen.
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Re: Q2.value(2).toString() gibt einen Zeilenvorschub aus
Ziemlicher Nebel heuteeule3 hat geschrieben: Kann mir jemand sagen wie ich das
abstellen kann?
Goos
Hallo
Danke für die Antwort.
>> das ganze Code Stück ist falsch
Hoffentlich nicht !
Hört sich ja schrecklich an.

>>Puh, kannst du mal bitte den originalen Code aus der gebauten Datei >>posten?
Bitte.
Will mal hoffen das es das Richtige ist.
// *****************************************************************
// Aufzählung der Ringnummern
// *****************************************************************
sql2 = "SELECT Bemerkung, Funktion, Ring, lastTag, lastOrt FROM ringe_tmp WHERE art =
arameter1 ORDER BY ringe_tmp.Ring";
Q2.prepare(sql2);
Q2.bindValue(":Parameter1",Q1.value(3).toString());
Q2.exec();
if (!Q2.isActive()) Q2.lastError().showMessage();
// *****************************************************************
// Ringe ohne Bemerkung
// *****************************************************************
//Alle Ringe dieser Art abgrasen
while (Q2.next())
{
if (Q2.value(0).toString() == "" | Q2.value(1).toString() == "")
{ // Es ist keine bemerkung oder Funktion vorhanden
tx = tx + mit + Q2.value(2).toString();
mit = ",";
}
if (tx != "" )
{ // tx ist nicht leer -> ausgeben
stream << tx << "\n"; //Anzahl der abgelesenen Ringe
tx="";
}
}
mfg
PS: was soll die sache mit dem nebel?
Danke für die Antwort.
>> das ganze Code Stück ist falsch
Hoffentlich nicht !
Hört sich ja schrecklich an.
>>Puh, kannst du mal bitte den originalen Code aus der gebauten Datei >>posten?
Bitte.
Will mal hoffen das es das Richtige ist.
// *****************************************************************
// Aufzählung der Ringnummern
// *****************************************************************
sql2 = "SELECT Bemerkung, Funktion, Ring, lastTag, lastOrt FROM ringe_tmp WHERE art =
Q2.prepare(sql2);
Q2.bindValue(":Parameter1",Q1.value(3).toString());
Q2.exec();
if (!Q2.isActive()) Q2.lastError().showMessage();
// *****************************************************************
// Ringe ohne Bemerkung
// *****************************************************************
//Alle Ringe dieser Art abgrasen
while (Q2.next())
{
if (Q2.value(0).toString() == "" | Q2.value(1).toString() == "")
{ // Es ist keine bemerkung oder Funktion vorhanden
tx = tx + mit + Q2.value(2).toString();
mit = ",";
}
if (tx != "" )
{ // tx ist nicht leer -> ausgeben
stream << tx << "\n"; //Anzahl der abgelesenen Ringe
tx="";
}
}
mfg
PS: was soll die sache mit dem nebel?
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Anstelle von == "" würde ich isEmpty() nehmen, ist irgendwie klarer. Außerdem versuche doch bitte deinen Code in einer gewissen Formatierung zu posten. Mit den CODE Tags geht das im Editor problemlos.eule3 hat geschrieben:// *****************************************************************
// Ringe ohne Bemerkung
// *****************************************************************
//Alle Ringe dieser Art abgrasen
while (Q2.next())
{
/* Das oder ist nur ein halbes oder */
if (Q2.value(0).toString() == "" | Q2.value(1).toString() == "")
{ // Es ist keine bemerkung oder Funktion vorhanden
tx = tx + mit + Q2.value(2).toString();
mit = ",";
}
/* Da tx immer ein Wert ist, es also immer ungleich "" ist, wird nach jedem tx eine Leerzeile eingefügt */
if (tx != "" )
{ // tx ist nicht leer -> ausgeben
stream << tx << "\n"; //Anzahl der abgelesenen Ringe
tx="";
}
}
Zuletzt geändert von FlorianBecker am 20. Oktober 2005 14:53, insgesamt 1-mal geändert.
Hallo
Danke für die vielen Antworten.
Mein Problem ist gelöst, die Schleife ging
auch über die Ausgabe. Ein dummer Fehler den ich
selber hätte finden müssen. Tut mir leid.
QString.isEmpty() ist nun auch drin.
Aus den "halben Oder" wurde ein "ganzes Und"
Und ja, mein Code sieht im Editor haargenau so aus.
Ich persönlich konnte noch keine Formatierung
finden die mir irgendwie hilft die Übersicht zu
verbessern. Auch finde ich es zu viel Arbeit.
Aber ich lerne gerne hinzu.
Wenn mir jemand sagt wie der obrige Code besser
aussehen würde, werde ich es einbauen.
mfg
PS Im Herbst ist immer Nebel
Danke für die vielen Antworten.
Mein Problem ist gelöst, die Schleife ging
auch über die Ausgabe. Ein dummer Fehler den ich
selber hätte finden müssen. Tut mir leid.
QString.isEmpty() ist nun auch drin.
Aus den "halben Oder" wurde ein "ganzes Und"
Und ja, mein Code sieht im Editor haargenau so aus.
Ich persönlich konnte noch keine Formatierung
finden die mir irgendwie hilft die Übersicht zu
verbessern. Auch finde ich es zu viel Arbeit.
Aber ich lerne gerne hinzu.
Wenn mir jemand sagt wie der obrige Code besser
aussehen würde, werde ich es einbauen.
mfg
PS Im Herbst ist immer Nebel
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Code: Alles auswählen
while ( Q2.next() ) {
if ( Q2.value( 0 ).toString().isEmpty() && Q2.value( 1 ).toString().isEmpty() ) {
tx = tx + mit + Q2.value( 2 ).toString();
mit = ",";
}
if ( !tx.isEmpty() ) {
stream << tx << "\n";
tx.clear();
}
}Schön. Dann versuch auch gleich die Quote-Funktion zu nutzen und versuch es nicht erst Usenet-konform, wenn Du es nicht kannst. Ausserdem muß man nicht Return drücken, wenn der Cursor an den Rand des Editfelds kommt, oder wie kommen deine kurzen Zeilen zustande? Du kannst auch die Vorschau-Funktion nutzen, wenn Du dir nicht sicher bist.eule3 hat geschrieben:Aber wenn ich wieder einmal Cost posten muss werde
ich versuchen das zu ändern.
Sorry, aber wenn wir schon dabei sind Fehler zu beheben, dann gleich alle
hallo
Was ist "Usenet-konform" ?
Und was ist eine "Quote-Funktion" ?
und ich darf mal sagen das ich die Oberfläche hier nicht gerade
für Idioten wie ich geeigent ist. Wer auf dieses Posting antworten will
sollte es am besten per Mail machen (jiuj "at" freenet.de) da es nicht
mehr in dieses Forum passt.
mfg
PS
es muß auch dumme menschen geben, denn sonst hätten die
Klugen nichts zu lachen.
Hier muß ich leider passen.Schön. Dann versuch auch gleich die Quote-Funktion zu nutzen und versuch es nicht erst Usenet-konform, wenn Du es nicht kannst. Ausserdem muß man nicht Return drücken, wenn der Cursor an den Rand des Editfelds kommt, oder wie kommen deine kurzen Zeilen zustande? Du kannst auch die Vorschau-Funktion nutzen, wenn Du dir nicht sicher bist.
Sorry, aber wenn wir schon dabei sind Fehler zu beheben, dann gleich alle
Was ist "Usenet-konform" ?
Und was ist eine "Quote-Funktion" ?
und ich darf mal sagen das ich die Oberfläche hier nicht gerade
für Idioten wie ich geeigent ist. Wer auf dieses Posting antworten will
sollte es am besten per Mail machen (jiuj "at" freenet.de) da es nicht
mehr in dieses Forum passt.
mfg
PS
es muß auch dumme menschen geben, denn sonst hätten die
Klugen nichts zu lachen.