SQlite Abfrage

Alles rund um die Programmierung mit Qt
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Re: SQlite Abfrage

Beitrag von MichaelS »

Hallo,

dann geht es natürlich auch ohne Subselect:

Code: Alles auswählen

select * from meineTabelle where datum < date('now') and datum >= date('now', '-3 day' );
oder mit Qt:

Code: Alles auswählen

QSqlQuery select;
select.prepare( "select * from meineTabelle where datum < ? and datum >= ?;" );
select.addBindValue( QDate::currentDate() );
select.addBindValue( QDate::currentDate()-addDays( -3 ) );

if ( !select.exec() )
... 
Zuletzt geändert von MichaelS am 24. Januar 2017 16:57, insgesamt 1-mal geändert.
ChrisRoo
Beiträge: 19
Registriert: 14. Januar 2017 16:37

Re: SQlite Abfrage

Beitrag von ChrisRoo »

Hey DANKE!
Es funktioniert.
Ich habe die Funktion jetzt noch dahingehend angepasst, dass in der Spalte "Buchungsart" nur 'AB' = Abbuchungen berücksichtigt werden.

Code: Alles auswählen

double bestellProg(const QString &ktoTAB)
    {
            connOpen();
            QSqlQuery prognose;
            prognose.prepare(QString("select Buchungswert from %1 where Buchungsart = 'AB' and Datum < date('now') and Datum >= date('now', '-3 day')").arg(ktoTAB));
            prognose.exec();
            if ( !prognose.exec() )
            {
              qDebug() << "Abfrage gescheitert!";
              return 0;
            }
            prognose.last();
            double verbrauch = 0.0;
            if ( !prognose.first() )
              return 0;
            verbrauch = prognose.value( 0 ).toDouble();
            while( prognose.next() )
                verbrauch += prognose.value( 0 ).toDouble();
            verbrauch = verbrauch / 3;
            connClose();
            qDebug()<< verbrauch;

            return verbrauch;
    }
Vielen Dank nochmal, hast mir sehr geholfen.

Gruß Chris
Antworten