AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

FireDAC Refresh

Ein Thema von haentschman · begonnen am 22. Jan 2021 · letzter Beitrag vom 22. Jan 2021
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#1

FireDAC Refresh

  Alt 22. Jan 2021, 10:33
Datenbank: MSSQL • Version: 2012 • Zugriff über: FireDAC
Hallo...

Ich hätte mal wieder was was ich nicht verstehe...

Geben:
1. FireDAC Query mit Range über SQL (kein Filter)
2. Ein neuer Auftrag wird eingefügt und gespeichert.
(ID des neuen Datensatzes 100 als Beispiel )
(Daten sind dann sowohl in der Query als auch in der Datenbank vorhanden)
3. vor dem Druck wird nochmal der "Auftrag" kalkuliert
4. nach der Kalkulation soll das GRID aktualisiert werden (Refresh der Query).

Problem:
1. vor dem Refresh ist der Datensatz 100 in der Query vorhanden
2. Nach dem Refresh fehlt der Datensatz in der Datenmenge der Query! Nur bis 99 wird angezeigt.
3. In der Datenbank ist die 100 noch da!

Es sieht danach aus, daß nur die Daten refresh´t werden die nicht hinzugefügt wurden. Bei Bestehenden tritt das Problem nicht auf.

Der Datensatz 100 wurde mit Query.Post gespeichert (keine separate Transanktion...sonst könnte ich den DS in der DB nicht sehen). In der Query habe ich temporär alles auf "ALL" gesetzt...ohne Erfolg.


Ideen?

Danke

Geändert von haentschman (22. Jan 2021 um 10:39 Uhr)
  Mit Zitat antworten Zitat
RSF

Registriert seit: 13. Mär 2008
150 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: FireDAC Refresh

  Alt 22. Jan 2021, 10:48
Ich verlasse mich nicht auf Query.Referesh.
Ich benutze lieber Close -> Open –> Locate.
Habe irgendwo mal gelesen das Refresh nicht bei jeder Datenbank zuverlässig funktioniert.
Ronald
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#3

AW: FireDAC Refresh

  Alt 22. Jan 2021, 12:12
Danke für die Anteilnahme...
Wie immer saß der Fehler vorm Bildschirm!

Was war passiert:
Zitat:
nach der Kalkulation soll das GRID aktualisiert werden (Refresh der Query).
Das hatte ich irgendwann mal eingebaut. Das Refresh hatte aber noch den alten Range im SQL (Datum von/bis mit Zeitangabe ) Damit konnte er den neuen Datensatz nicht holen.

Lösung:
Das SQL geändert auf Datum von/nach oben offen.

PS: Warum das mir nach 3 Jahren erst auf den Fuß gefallen ist, erschließt sich mir nicht.

Zitat:
Locate
Davon lasse ich die Finger! Mit MSSQL kann das in die Hose gehen.


Danke
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:57 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