Verständnisfrage SQLite/letzter Eintrag suchen

Gast #605964
Lesenswert?

Hallo Leute,

ich hätte zu folgendem Problem gerne eine Bestätigung,
oder einen Tip:
In einer SQLite-Datenbank benötige ich immer den Inhalt (Zähler) einer
bestimmten Spalte der letzten Zeile beim Start einer Session.
Programmiert wird in C#.
So wie ich das in den Foren gelesen und scheinbar verstanden habe,
muss man, nach dem Öffnen der Datenbank erst einmal mit "insert"
eine Zeile einfügen, um dann mit "last_row_id" die letzte Zeile
zu identifizieren (minus 1)- dann hätte ich den Wert (ausgelesen).

Gibt es da vielleicht eine bessere Methode ??

Vielen Dank für Eure Anregungen !

Dietmar
Admin Persönliche Seite #606092
Lesenswert?

Wie wär's damit:
1
SELECT id FROM table ORDER BY id DESC LIMIT 1;

Wenn id ein Index ist sollte es eigentlich kein Problem für SQLite sein 
das effizient umzusetzen.

Aber: willst du wirklich nach der ID sortieren, oder zweckentfremdest du 
die id als Erstellungsdatum? Kann man schon machen, man sollte sich aber 
darüber im Klaren sein dass IDs von gelöschten Zeilen u.U. 
wiederverwendet werden können. Je nach Anwendung könnte ein Timestamp 
also sinnvoller (und mit Index auch nicht langsamer) sein.
Gast #606106
Lesenswert?

Hallo Andreas,

besten Dank erst einmal.
Ich habe mich da wohl noch nicht ganz klar ausgedrückt.
Nicht Sortieren steht im Vordergrund, sondern die Ermittlung des 
MaxWertes
der betreffenden Spalte, der in der letzten Zeile stehen muss.
Dieser Wert wird aufsteigend von einer anderen Applikation in die
Datenbank hineingeschrieben (komplette Zeile mit Messwerten).
Die Werte dürfen nie verändert werden. Diese Applikation kann aber
beim Start nicht den letzten Wert ermitteln, so soll mein C#-Programm
dies erledigen und den nächsten Wert übergeben.

Hoffentlich ist das annähernd verständlich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren