AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zeit/Datumswert mit einer Tabelle vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeit/Datumswert mit einer Tabelle vergleichen

Ein Thema von SilverMoonGirl · begonnen am 7. Dez 2006 · letzter Beitrag vom 21. Dez 2006
Antwort Antwort
Seite 5 von 5   « Erste     345   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#41

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 09:50
Hallo,

immer noch Paradox

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


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#42

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 10:08
Zitat:
2. was soll das [...]\ im SQL ?
Scheint ein Platzhalter für den Pfad zu sein.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

Registriert seit: 21. Aug 2003
Ort: Berlin
160 Beiträge
 
Delphi 6 Professional
 
#43

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 10:13
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
Dort findet sich jetzt "38797,552824"

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 Wenn ich den Wert in eine neue Tabelle schreibe und unter Paradox ansehe, stimmt das Datum ja
Simone
There is no dark side of the moon really.
Matter of fact it's all dark.
.::mein Blog::.
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#44

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 11:30
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#45

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 11:36
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
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#46

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 12:18
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 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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#47

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 13:18
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
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#48

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 14:05
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

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 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...
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

Registriert seit: 21. Aug 2003
Ort: Berlin
160 Beiträge
 
Delphi 6 Professional
 
#49

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 21. Dez 2006, 11:57
Aloha

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
Simone
There is no dark side of the moon really.
Matter of fact it's all dark.
.::mein Blog::.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


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 11:14 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