ein Problem mit sqlite und MAX()

Alles rund um die Programmierung mit Qt
Antworten
RobRoy1304
Beiträge: 47
Registriert: 9. Juli 2009 10:56

ein Problem mit sqlite und MAX()

Beitrag von RobRoy1304 »

Hallo,

ich bekomme die Fehlermeldung
''QSqlQuery::value: not positioned on a valid record''

wenn ich die SQL-Funktion MAX() nutzen möchte...

Code: Alles auswählen

    if(!m_bConnect)
        return sReturn;
    //-
    s=QString("SELECT MAX(price) FROM article");
    QSqlQuery query;
    QSqlRecord record;
    int max_price;
    bool b=query.exec(s);
    if(b)
    {
        query.first();
        record=query.record();
        if(query.isValid())
        {
            max_price=query.value( record.indexOf("price")).toInt();
        }
    }
Ich versteh das nicht, er soll mir mittels MAX() den Datensatz mit dem
höchsten Preis raussuchen, mit query.first() geh ich zum ersten ge-
fundenen Datensatz, erstelle ein QRecord und frage dann ab ab er
auf einen gültigen Datensatz ist, aber trotzdem bekomme ich eine
Fehlermeldung !?!

Was mache ich falsch??
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn du eine Fehlermeldung bekommst, dann kannst du bestimmt das Problem auch selbst lösen
RobRoy1304
Beiträge: 47
Registriert: 9. Juli 2009 10:56

Beitrag von RobRoy1304 »

sehr hilfreich, danke für nix
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Oh, sorry, wenn du oben eine Fehlermeldung hinschreibst und unten auf irgendene Fehlermeldung verweist ist der Zusammenhang etwas unklar.

In der Doku von QSqlQuery ist ein Code-Beispiel wie man die Daten aus der Query ausliest. Wenn man das 1 zu 1 abschreibt hat man auch funktionierenden Code.
Antworten