AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL-Suchergebnis nachträglich noch mal einschränken
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Suchergebnis nachträglich noch mal einschränken

Ein Thema von norwegen60 · begonnen am 1. Sep 2019 · letzter Beitrag vom 3. Sep 2019
 
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
989 Beiträge
 
Delphi 6 Professional
 
#9

AW: SQL-Suchergebnis nachträglich noch mal einschränken

  Alt 2. Sep 2019, 09:10
Hmm..

Unter MS-SQL kannst du auf die Existenz von Dateien prüfen:
dbo.xp_fileexist @path, @result

https://www.tech-recipes.com/rx/3052...n-a-directory/

Das nachträglich, also lokal, zu machen, kommt mir unstimmig vor. Besser der Server macht das.
Dies ist aber nur möglich, wenn der "SQL-Server" Zugriff auf das Verzeichnis hat und er muss dann den Pfad zur Datei nicht aus Anwendungssicht, sondern aus SQL-Server-Sicht im Query angeben.

Somit wird dies wohl nur funktionieren, wenn die Dateien eventuell auch direkt auf dem gleichen Server liegen, wie der SQL-Server selber, denn dieser läuft meistens als LocalSystem, ohne Zugriff auf (Domain-) Netzwerklaufwerke.

Hier würde wohl, wie von Schokohase erwähnt, besser mit einem CalcField und der Prüfung im OnCalcFields zurückgegriffen werden, da dieses dann aus Sicht und mit dessen Zugriffsrechten der Applikation erfolgt.

Die Lösung mit Edit/Post ist zu vermeiden, da hier direkt eventuell Einträge auf der Datenbank geändert würden, da hierzu ein DB-Feld benötigt wird.

Einfach im OnCalcField:
Delphi-Quellcode:
procedure TForm1.dbquSQLCalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('FileExists').AsString :=
    BoolToStr(FileExists(FFilePath + DataSet.FieldByName('FileName').AsString), True);
end;
Dann auf dem Query z.B. den Filter "FileExists <> 'True'" setzen.

Edit:Anstelle eines StringFeldes solltest Du dann aber eher ein Boolean oder nummeric Feld für 'FileExists' nehmen (Oben ist es nur als Beispiel angegeben.. ).
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)

Geändert von HolgerX ( 2. Sep 2019 um 09:19 Uhr)
  Mit Zitat antworten Zitat
 


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 20:20 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