Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zeit/Datumswert mit einer Tabelle vergleichen (https://www.delphipraxis.net/82045-zeit-datumswert-mit-einer-tabelle-vergleichen.html)

hoika 15. Dez 2006 09:50

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Hallo,

immer noch Paradox ;)

1. welche Fehlermeldung
2. was soll das [...]\ im SQL ?


Heiko

mkinzler 15. Dez 2006 10:08

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Zitat:

2. was soll das [...]\ im SQL ?
Scheint ein Platzhalter für den Pfad zu sein.

SilverMoonGirl 15. Dez 2006 10:13

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Zitat:

Zitat von MagicAndre1981
setz mal den Debugger in Zeile 8 und schau dir mal an, was in den Werten überhaupt drin steht.

du meinst in der datumzeit - variable?! Auf die Idee hätt ich auch schonmal früher kommen können :roll:
Dort findet sich jetzt "38797,552824" :wall:

Zitat:

Zitat von hoika
2. was soll das [...]\ im SQL ?

Ich habe da nur die Pfadangabe rausgenommen, die ist im Orginal natürlich vorhanden ;-)

Edit: obwohl, könnte der debugger das in den wert umwandeln :gruebel: Wenn ich den Wert in eine neue Tabelle schreibe und unter Paradox ansehe, stimmt das Datum ja

raiguen 15. Dez 2006 11:30

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Moin :-)
Okay, hier nochmal ein Versuch:
Delphi-Quellcode:
const
  SELECT_STMT
    = 'SELECT * FROM "[...]\Aufdate" WHERE AuftragNr = :auftrag AND "Aufdate"."_BackupTime" = :datzei';

begin
  with DBmodul.QcopyTable do
  begin
    Close;
    SQL.Text:= SELECT_STMT;
    ParamByName('auftrag').AsInteger := DBGrid1.SelectedField.AsInteger;
    ParamByName('datzei').AsDateTime:= DBGdatum.SelectedField.AsDateTime + DBGZeit.SelectedField.AsDateTime;
    Open;
  end;
end;
Der Datum- bzw Zeitwert werden direkt in den Parameter übergeben; voraussetzung ist natürlich - aber da geh ich mal von aus - dass im DBGdatum.SelectedField als auch im DBGZeit.SelectedField die Werte richtig 'formatiert' sind ;)

marabu 15. Dez 2006 11:36

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Hallo Simone,

mit deinem DateTime-Feld hat das ganze vielleicht garnichts zu tun. In der FROM-Klausel sollte kein Pfad stehen, der gehört nach DatabaseName - oder wie auch immer du die Datanbank (in Paradox äquivalent zu Verzeichnis) festlegen willst.

Freundliche Grüße

raiguen 15. Dez 2006 12:18

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Zitat:

Zitat von marabu
...mit deinem DateTime-Feld hat das ganze vielleicht garnichts zu tun....

Der angezeigte Fehler [sinngemäß] '...Keine Übereinstimmung der Typen im Ausdruck...' hat sehr wohl damit zu tun ;) d.h. der übergebene Parametertyp entspricht nicht so wirklich dem Feldtyp...
Zitat:

Zitat von marabu

... In der FROM-Klausel sollte kein Pfad stehen, der gehört nach DatabaseName - oder wie auch immer du die Datanbank (in Paradox äquivalent zu Verzeichnis) festlegen willst....

Prinzipiell richtig, aber auf der anderen Seite schadet es auch nicht, den Pfad in der FROM-Klausel zu (be)nutzen ;)

marabu 15. Dez 2006 13:18

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Hallo,

der thread ist für den vermuteten Fehler eigentlich schon viel zu lang geworden. Ich schlage eine etwas systematischere Vorgehensweise vor: Table Repair einsetzen, Leerkopie der Tabelle hier einstellen, Versionsnummer der BDE bekanntgeben. Dann sollte die Raterunde bald zu Ende sein.

@Rainer: der Fehler beim programmseitigen Zugriff auf ein DateTime-Feld ist schon lange behoben, am Code kann es also nicht mehr liegen. Und den Pfadnamen in das SELECT-Statement zu schreiben ...

Freundliche Grüße

raiguen 15. Dez 2006 14:05

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Zitat:

Zitat von marabu
Hallo,

der thread ist für den vermuteten Fehler eigentlich schon viel zu lang geworden. Ich schlage eine etwas systematischere Vorgehensweise vor: Table Repair einsetzen, Leerkopie der Tabelle hier einstellen, Versionsnummer der BDE bekanntgeben. Dann sollte die Raterunde bald zu Ende sein.

Ähm... ja, das scheint derzeit zu einer neverending story zu werden :wink:

Zitat:

Zitat von marabu
@Rainer: der Fehler beim programmseitigen Zugriff auf ein DateTime-Feld ist schon lange behoben,...

Sorry Achim: das sehe ich etwas anders: im Beitrag #39 1.Code funktioniert das laut Simone's Aussage ja einwandfrei (gut, ist ne TestTabelle mit 'richtigen' SpaltenNamen und hartcodierten Datum-/Zeitwerten), nur der 2.Code scheitert immer noch an dem übergebenen Parametertyp... Daher mein dezenter Hinweis, ob die Feldwerte aus DBGDatum und DBGZeit auch richtig sind...

Zitat:

Zitat von marabu
... am Code kann es also nicht mehr liegen. ...

Der von dir bzw auch von mir gepostete Code ist soweit richtig, zumal ich das expliziet an meiner ähnlich gelagerten Tabelle (und auch mit den zusätzlich DBGRids zum Selektieren eines Datum- und Zeitwertes) ausgetestet habe...

Als einigermassen pfiffiger Programmierer würde ich natürlich beispielsweise die über ein DBGrid selektierten Datum-/Zeitfelder erstmal durch hartcodierte Werte ersetzen, um zu schauen, ob das SQL-Statement immer noch rumzickt...
Code:
ParamByName('datzei').AsDateTime:= StrToDateTime('15.12.2006')+ StrToDateTime('15:15:00');
Aber okay... Ratespiele sind nicht so ganz meine wirkliche Welt, also von daher hab ich auch keine sinnvollen Ideen mehr...
Aber eins muss ich ja noch loswerden (man möge es mir verzeihen): unsaubere und eben auf die Schnelle erstellte Tabelle(n) bereiten einem im Nachhinein mehr Kopfzerbrechen/Probleme als einem lieb ist...

SilverMoonGirl 21. Dez 2006 11:57

Re: Zeit/Datumswert mit einer Tabelle vergleichen
 
Aloha :hi:

Ich hab das Problem jetzt gelöst. Ich lese den Datumzeitwert aus der Tabelle aus, trenne ihn in Datum und Zeit. Dann füge ich beides wieder zusammen und schreibe es zurück in die Tabelle. Jetzt kann ich meine Abfrage auch durchführen.

Vielen Dank für eure Hilfe :kiss:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.
Seite 5 von 5   « Erste     345   

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