AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datum aus voriger Zeile zum berechnen
Thema durchsuchen
Ansicht
Themen-Optionen

Datum aus voriger Zeile zum berechnen

Ein Thema von concept2015 · begonnen am 17. Aug 2019 · letzter Beitrag vom 26. Aug 2019
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#11

AW: Datum aus voriger Zeile zum berechnen

  Alt 18. Aug 2019, 22:30
vielleicht hilft Dir http://www.sqlitetutorial.net/sqlite...ns/sqlite-lag/ weiter.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#12

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 06:54

Hat jemand noch eine Idee ?
Ich denke, die Version, die unter FDQuery eingebunden ist, ist älter.
Du könntest über Delphi mal abfragen:
Code:
select sqlite_version();
Ich hab im Kopf, die sqlite ist bei Firedac integriert, aber da bin ich mir wirklich nicht sicher. Hier gibt es sicher jemand, der das genau weiß.

Hier noch was gefunden:
http://docwiki.embarcadero.com/RADSt...anken_(FireDAC)
Gruß, Jo
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#13

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 08:03
Also mein SQL-Statement ist so wie hier gepostet mit Delphi 10.3.2 und FireDAC lauffähig.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 08:12
Mal nebenebei: Pack das over mal nicht in eine gesonderte Zeile.
Dein Code:
Delphi-Quellcode:
...
QText:=QText+'julianday(lag(QEchtDat,1,QEchtDat)
over (order by QEchtDat)) Tage
';
...
Richtig wäre:
Delphi-Quellcode:
...
QText:=QText+'julianday(lag(QEchtDat,1,QEchtDat) over (order by QEchtDat)) Tage ';
...
Oder:
Delphi-Quellcode:
...
QText:=QText+'julianday(lag(QEchtDat,1,QEchtDat)' +
'over (order by QEchtDat)) Tage ';
...
Oder:
Delphi-Quellcode:
...
QText:=QText+'julianday(lag(QEchtDat,1,QEchtDat)';
QText:=QText+'over (order by QEchtDat)) Tage ';
...
Schau mal ob sich damit dein Problem lösen lässt.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#15

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 09:04
Also SQL ist nicht Zeilen sensitiv. Aber Leerzeichen zwischen den Schlüsselwörtern, Feldnamen und Funktionen können nicht schaden!
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 09:42
SQL ist nicht Zeilensensitiv, ABER bei der Compilierung in Delphi gibt es Probleme wenn du innerhalb eines Strings die Zeile wechselst, was er laut/ copy/paste tut:
Delphi-Quellcode:
...
QText:=QText+'julianday(lag(QEchtDat,1,QEchtDat) //hier endet die Zeile ohne ' und ; oder + um den String abzuschließen
over (order by QEchtDat)) Tage '; // hier geht der String weiter ohne ihn mit ' zu beginnen bzw. "over" kennt Delphi so in der Form natürlich nicht (da falsch interpretiert)
...
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#17

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 09:50
Du hast Recht, hab ich übersehen!
Gruß, Jo
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#18

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 09:51
SQL ist nicht Zeilensensitiv, ABER bei der Compilierung in Delphi gibt es Probleme wenn du innerhalb eines Strings die Zeile wechselst, ...
ja, das mag richtig sein ... aber wenn der TE folgende Fehlermeldung sieht
Zitat:
[FireDac][Phys][SQLite] ERROR: near "over" : syntax error.
dann ist die Compilierung schon Vergangenheit und wird befinden uns in der Runtime.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 12:16
Hast recht @Schokohase.
Habe aktuell das gleiche Problem -.- und die Abfrage passt in der Workbench einwandfrei, nur über den Query bekomme ich den Fehler.
FDQuery.Open('SELECT * FROM ' + sDatenbank + ' WHERE seriennummer = ' + sSNR);

Workbench: Einwandfrei
Delphi (FDQuery.SQL): Einwandfrei
Programm zur Laufzeit: Fehler


FEHLER (zumindest bei mir) gefunden. Ich hatte die Datenbank per Bedingung definiert, welche aber irgendwie ins leere lief und daher leer/undefiniert war. Das führte zu meinem Fehler, evtl. hat der TE ein ähnliches Problem?
AM besten mal per Showmessage(QText); deine Variablen der Query Abfrage prüfen
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas (19. Aug 2019 um 13:15 Uhr)
  Mit Zitat antworten Zitat
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#20

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 16:09
So, musste erst mal etwas arbeiten.

Selbst mit der Abfrage in einem Zug und +
kommt der gleiche Syntax Fehler bei "over" .
Die Formatierung wird hier verändert !


QText:='select QEchtDat,wer,nummer,julianday(QEchtDat) -'+
' julianday(lag(QEchtDat,1,QEchtDat) over (order by QEchtDat)) as Tage '+
'FROM zwischen Where Jahr = "2019" and nummer = "139" ORDER BY QEchtDat';

Mit Showmessage(QText)wird alles, wie eingegeben (mit leerzeichen an den richtigen Stellen) angezeigt.


Was kann ich noch testen um den Fehler zu finden ?

Geändert von concept2015 (19. Aug 2019 um 16:16 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz