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
Benutzerbild von Moombas
Moombas

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

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 08: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
 
#2

AW: Datum aus voriger Zeile zum berechnen

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

n/a Beiträge
 
#3

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 08: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
 
#4

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 11: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 12:15 Uhr)
  Mit Zitat antworten Zitat
concept2015

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

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 15: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 15:16 Uhr)
  Mit Zitat antworten Zitat
jobo

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

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 15:20
Rufe die Abfrage der SQLiteversion aus Delphi heraus auf, wie ich es oben vorgeschlagen habe.
Gruß, Jo
  Mit Zitat antworten Zitat
concept2015

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

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 16:06
Im Abfrageeditor mit ausführen:
gestern in

Rio 10.3.2
3.23.1

In Tokyo
3.9.2

In SqLite Expert
3.29.0 Hier klappt die Abfrage !
  Mit Zitat antworten Zitat
jobo

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

AW: Datum aus voriger Zeile zum berechnen

  Alt 19. Aug 2019, 17:56
Wie in Beitrag 3 geschrieben, die Funktionen sind in V 3.25 eingeführt worden.
Irgendwo später hab ich einen Link gepostet, wie man die sqlite dll dynamisch einbinden kann.
Versuchs einfach mal!
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

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

AW: Datum aus voriger Zeile zum berechnen

  Alt 20. Aug 2019, 09:47
Hast du auch geprüft ob deine genutzten Variablen passen (richtige Werte)?
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz