AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi To_Date wird nicht erkannt
Thema durchsuchen
Ansicht
Themen-Optionen

To_Date wird nicht erkannt

Ein Thema von fanavity · begonnen am 5. Okt 2011 · letzter Beitrag vom 5. Okt 2011
Antwort Antwort
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#1

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:25
Query.Params.ParamByName('DATUM').AsDate := StrToDate(Datum); Bei dieser Variante sagt er mir:

Zitat:
Im Projekt Test.EXE ist eine Exception der Klasse EConvertError aufgetreten. Meldung: "2011-10-04" ist kein Gültiges Datum.
Okay.. Wenn ich also mit BDE/ODBC kommuniziere, denke ich kaum das er die Befehle von Oracle kennt.. Also muss das vorher umgewandelt werden..
  Mit Zitat antworten Zitat
jaevencooler

Registriert seit: 8. Sep 2005
Ort: Friedrichshafen
41 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:36
Moin, Moin,


also wenn Du die BDE nutzt, dann kannst Du irgendwo einstellen wie die BDE das SQL behandeln soll, also auf dem Client ausführen oder auf dem Server ausführen. Ist schon lange !!!!!!!! her das ich mit BDE gearbeitet habe, aber ich bin mir sicher das Du die BDE auf sowas wie Pass Through stellen kannst, damit Dein SQL direkt auf dem Server ausgeführt wird.

Nutzt Du ODBC, dann ist die Frage welchen ODBC Treiber benutzt Du ? Grundsätzlich kannst Du aber auch hier natives PL/SQL absetzen.

Beide Alternativen sind eher schlecht, besser wären native Treiber wie von Allround Automation oder DevArt, die kosten Geld ich weiß, aber es gibt hier auch gute Freeware Komponenten (siehe mal bei Torry nach)

Was Deine letzte Fehlermeldung angibt, da sind die Literate falsch, würde ich mal sagen, sprich Dein Datumformat ist irgendwie nicht so wie es erwartet wird. Hierbei musst Du bedenken das auch die Einstellungen auf dem Oracle Server wichtig sind !


Beste Grüße
Michael
Michael
Wissen ist Macht, nichts wissen macht auch nichts.
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#3

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:47
Danke für die Antwort..

Leider muss ich vorrerst mit dieser Lösung weiter arbeiten.. Also muss ich sehen wie ich das Problem löse.

Auf der DB ist das Datum so abgespeichert: DD.MM.YYYY
Wenn ich mein Datum genauso Formatiere und übergeben will, bekomme ich keine Fehlermeldung. Aber auch keine Ausgabe.

Wenn ich den Parameter in Anführungszeichen setzte:

Delphi-Quellcode:
     Query.Close;
     Query.Sql.Clear;
     Query.Sql.Add('SELECT *');
     Query.Sql.Add('FROM DATA_Test');
     Query.Sql.Add('WHERE DATUM = ":Datum"');
     Query.Params.ParamByName('DATUM').Value := StrToDate(Datum);
     Query.open;
Dann sagt er mir, dass es den Parameter Datum nicht gibt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#4

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:49
Welchen Datentyp hat das Datum eigentlich in der DB? Date oder String?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#5

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:51
Welchen Datentyp hat das Datum eigentlich in der DB? Date oder String?
Das Feld Datum ist vom Typ Date
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:01
Da ist Einiges überflüssig, wieso die vielen Umwandlungen? Wenn das ein Date-Feld ist dann doch wohl so:
Delphi-Quellcode:
Query.Close;
Query.Sql.Clear;
Query.Sql.Add('SELECT *');
Query.Sql.Add('FROM DATA_Test');
Query.Sql.Add('WHERE DATUM = :Datum');
Query.Params.ParamByName('DATUM').AsDateTime := StrToDate(Datum);
Query.open;
Aber da stellt sich mir auch die Frage, warum mit Stringdatum gearbeitet wird (also die var Datum)?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:02
Genau darauf zielte meine Frage ab. Ein Datum ist ein Datum, da muss man doch nichts in String konvertieren und andersherum.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:06
Er scheitert ja an der Umwandlung von dem Datum ("2011-10-05" Datum im Code ist eine String-Variable) in einen Date-Wert.

Hier sollte man der Funktion Delphi-Referenz durchsuchenStrToDate entsprechend angepasste FormatSettings mitgeben!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.230 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:51
Auf der DB ist das Datum so abgespeichert: DD.MM.YYYY
Dein erster Versuch geht davon aus das das Feld als Datumsfeld definiert ist. Dann wird das DB-Interne Format für die Speicherung verwendet und das Format "DD.MM.YYYY" ist nur ein (konfigurierbares) Anzeigeformat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#10

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:54
Auf der DB ist das Datum so abgespeichert: DD.MM.YYYY
Dein erster Versuch geht davon aus das das Feld als Datumsfeld definiert ist. Dann wird das DB-Interne Format für die Speicherung verwendet und das Format "DD.MM.YYYY" ist nur ein (konfigurierbares) Anzeigeformat.
Und was bedeutet das dann für mich? Verstehe deine Aussage nicht so ganz. Sorry
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:00 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