AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datumseinschränkung wird nicht akzeptiert
Thema durchsuchen
Ansicht
Themen-Optionen

Datumseinschränkung wird nicht akzeptiert

Ein Thema von Cyberbob_at_tot · begonnen am 5. Mär 2007 · letzter Beitrag vom 6. Mär 2007
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 10:41
Ach so, dann denke ich beides, wenn man mit atum_von einen Parameter anlegt, habe ich es im Statment und im query gemacht!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 10:54
Bevor du die Query mit der Methode Open öffnest, musst du noch der Datenbank mitteilen, dass du mehrere Parameter verwendest. Das erfolgt über die Eigenschaft Prepared, die auf True gesetzt wird.

Es ist eine Eigenart der TAdoQuery (zumindest im Zusammenspiel mit Oracle), dass sie nur dann mit mehreren Parametern etwas anfangen kann.

Also das Ganze etwa so:
Delphi-Quellcode:
 

...
Bericht_query.Parameters.ParamByName('Datum_bis').Value:='01.03.2007';
...
Bericht_query.Prepared := True;
Bericht_query.Open;
...
Grüße
Mikhal

PS: Solltest du den von Microsoft zur Verfügung gestellten OLEDB-Provider verwenden, dann solltest du ganz schnell mal bei Oracle nachschauen und dort den von Oracle zur Verfügung gestellten runterladen, das erspart dir eine Menge Ärger!

PPS: Oben wurde bereits darauf hingewiesen: Oracle verwendet DateTime, ein Trunc um das Datumsfeld zeigt dir immer das Datum mit 0 Uhr! Wenn du also ein Datum vergleichst, solltest du immer die Funktion Trunc verwenden.
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 11:29
Ne ist schon der Oralce Provider.

Aber das mit den Parametern funktioniert trotzdem nicht. Habe Prepare schon dauerhaft auf true gesetzt,

Delphi-Quellcode:
Bericht_query.SQL.Text := 'SELECT trunc(Date_Completed) from qguaradm.DELIVERIES d where d.Firm_ID=''32770'' and d.Status <>''--'' and trunc(d.date_completed) between '':Datum_von'' and '':Datum_bis''';
  Bericht_query.Parameters.parambyname('Datum_von').Value:='01.01.2007';
  Bericht_query.Parameters.ParamByName('Datum_bis').Value:='01.03.2007';
Bei Datum_von bekomme ich schon die Fehlermeldung, das der Parameter nicht da ist.
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 11:35
Du mußt/darfst Parameter nicht Quoten:
Bericht_query.SQL.Text := 'SELECT trunc(Date_Completed) from qguaradm.DELIVERIES d where d.Firm_ID=''32770'' and d.Status <>''--'' and trunc(d.date_completed) between :Datum_von and :Datum_bis';
Markus Kinzler
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 11:37
Ups, OK gemacht. Funktioniert. Aber die Daten werden immer noch falsch ausgeben, also sind wir, was dem Fehler angeht nicht viel weiter. Versteh das auch nicht wirklich, da das Format mit Trunc doch auf mm.dd.yyyy ist, und so gebe ich es auch ein! Trotzdem will er es irgentwie nicht!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 11:41
Versuch mal
...and cast(d.date_completed as Date) ...
Markus Kinzler
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#17

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 11:43
Zitat von Cyberbob_at_tot:
[...] da das Format mit Trunc doch auf mm.dd.yyyy ist, [...]
??? Übergib den Parametern mal explizit einen TDateTime und keinen String.
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 12:01
@Peinhard
endlich strtoDatetime bei der Parameterübergabe hat geholfen, scheint so zu funktionieren, besten dank.

@mkinzler
habe Cast auch mal vesucht, kamen aber auch keine Daten raus
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 12:14
Ich bins nochmal, irgentwie klappt es falsch, bekomme wohl daten aber nicht alle.

SELECT trunc(Date_Completed) as Datum from qguaradm.DELIVERIES d where d.Firm_ID='32770and d.Status <>'--and trunc(d.date_completed) between '01.01.2007and '05.03.2007' Bei der Abfrage in Delphi bekomme ich 4 Einträge, im QueryReporter 12 Einträge. Irgentwas stimmt da nicht!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#20

Re: Datumseinschränkung wird nicht akzeptiert

  Alt 5. Mär 2007, 12:20
Zitat von Cyberbob_at_tot:
Bei der Abfrage in Delphi bekomme ich 4 Einträge, im QueryReporter 12 Einträge. Irgentwas stimmt da nicht!
Gibt es bei den acht wo fehlen irgendwelche Übereinstimmungen?

Was passiert, wenn Du mal mit TTable und Filtern arbeitest (Filter einfach auf Datum setzen).
Catbytes
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 03:48 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