Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi gleicher SQL Befehl/unterschiedliches Ergebnis (https://www.delphipraxis.net/15287-gleicher-sql-befehl-unterschiedliches-ergebnis.html)

skullcrusher 25. Jan 2004 19:32


gleicher SQL Befehl/unterschiedliches Ergebnis
 
Hallo !

Ich habe da ein seltsame Erscheinung, vielleicht hat einer von euch
eine Erklärung.
Ich greife mit einem D5 Programm auf eine im Netz liegende Paradoxdatenbank zu.
(Keine Kommentare bitte, das ist historisch bedingt ;-) )
Das Programm benutzt hierzu die normalen SQL Komponenten von D5.
Es wird auf zirka 20 Rechnern eingesetzt, die in 90% der Fälle nur lesend
zugreifen.
Wenn ich nun auf einem bestimmten Rechner eine Datenmenge mit einem SQL Befehl
ala "select * from 2003.db where datum = 07/07/03" abrufe, bekomme ich auf diesem
Rechner eine leere Datenmenge zurück. Auf allen anderen Rechnern bekomme ich
eine gefüllte, korrekte Menge.
Auf allen Rechnern wird die gleicher Version der BDE eingesetzt.
Hat jemand schon ähnliche Probleme gehabt ?
Ist das ein Hardwarefehler ? Ein Speicherfehler ?
Hat jemand einen Tip ?

Bis dann,

Stephan

kiar 25. Jan 2004 19:35

Re: gleicher SQL Befehl/unterschiedliches Ergebnis
 
stimmt das datumformat überein?

Robert_G 25. Jan 2004 19:47

Re: gleicher SQL Befehl/unterschiedliches Ergebnis
 
Sieht für mich nach implizierter Datumsumwandlung aus.
Versuche anstatt "Datum = 07/07/03" mal das:
Delphi-Quellcode:
  With Query Do
  Begin
    SQL.Text :=
      'SELECT *' + #13#10 +
      'FROM  2003.db' + #13#10 +
      'WHERE Datum = :i_Datum';
    Prepare;
    ParamByName('i_Datum').AsDate := DeinDatum;
    Open;
  End;
DeinDatum ist irgendein TDateTime-Wert.

Nachtrag:
07/07/03 kann bei falschen Regionaleinstellungen auch als 03.07.2007 verstanden werden.
Edit2: aus [sql] -> [delphi] :wall:

skullcrusher 26. Jan 2004 10:58

Re: gleicher SQL Befehl/unterschiedliches Ergebnis
 
Hm,

an der Formatierung des SQL Befehles kann es nicht liegen,
da der Befehl im Programm fest geschrieben ist, sprich, der Benutzer nur
auf einen Button drückt und dann automatisch vom Programm der Befehl ausgeführt
wird.
(Sorry, kann sein das die Formatierung im SQL nicht korrekt war, habs aus dem Kopf
geschrieben )
Ja, aber die Sache mit den Ländereinstellungen könnte es sein.Da habe ich noch
nicht dran gedacht, falsche Ländereinstellungen= Datum wird falsch interpretiert.

Werde ich morgen gleich ausprobieren.

Vorerst schon mal vielen Dank !!!!

Stephan


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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