SQL Summe von der aktuellen Woche bekommen?

2 Antworten

"gar nichts" kommt dabei sicher nicht raus,

Da sollte mindestens eine Fehlermeldung raus kommen, die Du aber ignorierst.
Das Problem ist nämlich, dass er dein Datum nicht versteht, das muss ein String im richtigen Format sein oder Du parst manuell.

Allerdings solltest Du das gar nicht selber tun. Du solltest niemals die Werte direkt in das SQL schreiben, für sowas gibt es Parameter und die kümmern sich dann auch darum, dass die DB alles verstehen kann. Dabei kannst Du dann auch den Zeitraum als Parameter mit geben und hast direkt die Möglichkeit, das dynamisch machen zu lassen.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler
Youaa 
Fragesteller
 04.01.2022, 15:20

Okay, ich werde mal weiter schauen vielleicht finde ich dazu passenden code. Ist es denn richtig, dass mein DATUM als TEXT in der SQL Datenbank gespeichert wird? Oder sollte es eher einen anderen Datentypen annehmen?

0
Palladin007  04.01.2022, 15:30
@Youaa

Für Java gibt's garantiert ein ORM oder andere DB-Frameworks, die Parameter können. Spontan fällt mir "Hibernate" ein, ich kenne aber nur den .NET-Port davon.

Datatypes In SQLite

SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in  Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values
0
  • dbHelper.Notes scheint die zu summierende Spalte zu sein
  • dbHelper.TABLE_NAME scheint die betreffende Tabelle zu sein
  • Fehlt bei dbHelper in der dritten Verwendung nicht .DATUM oder ähnliches?
Woher ich das weiß:Berufserfahrung – Programmierer
Youaa 
Fragesteller
 04.01.2022, 15:18

Du hast recht. In meinem Code steht auch dbHelper.DATE. Keine Ahnung wieso das hier nicht steht. Aber ich korrigiere es. Der Output stimmt jedoch immer noch nicht. es wird einfach 0 ausgegeben.

1
Suboptimierer  04.01.2022, 15:21
@Youaa

Ich würde ein anderes Datumsformat probieren. Entweder 2022-01-01 oder 01.01.2022. Außerdem wird meistens ein Datum in einfache Anführungszeichen gesetzt.

0