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 4 von 5   « Erste     234 5      
hoika

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 12. Dez 2006, 18:00
Tja,

mein Paradox-Wissen wird zum Glück immer kleiner
(wird gerade von FB2.0 aus dem Hirn gedrückt )


Heiko
Heiko
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#32

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 12. Dez 2006, 21:40
Zitat von MacNuke:
Zitat von hoika:
wie ihr beiden seht, gibt es nur Ärger.
Ich würde die Struktur ändern und per Programm-Update,
die alten Daten ersetzen.
Nee. Muss doch aus so gehen. Zur Not wird das Programm eher nicht mehr in Delphi gemacht, sondern wieder in Paradox Also von daher
...
Es geht doch im Prinzip nur ganz einfach darum einen DateTime-Wert in einer Tabelle mit einer DateTime-Spalte zu suchen... warum ist das denn so schwer?
Na, denn zeig uns doch mal die Lösung, wenn du schon 'mal eben auf die Schnelle' eine so verkorkste Tabelle erstellst. Hauptsache für deine Zwecke reicht es, dass andere damit evtl. vor unlösbaren Problemen stehen ist ja nebensächlich...

@Silvermoon: leicht veränderte SQL
Delphi-Quellcode:
const
  SELECT_STMT
    = 'SELECT * FROM "[...]\Aufdate" WHERE AuftragNr = :auftrag AND "_BackupTime" = :datzei';

datumzeit:=
 with DBmodul.QcopyTable do
  begin
    Close;
    SQL.Text:= SELECT_STMT;
    ParamByName('auftrag').AsInteger := DBGrid1.SelectedField.AsInteger;
    ParamByName('datzei').AsDateTime:= DBGzeit.SelectedField.AsDateTime + DBGdatum.SelectedField.AsDateTime;
;
    Open;
  end;
Zum Fehler (unterschiedliche Typen im Ausdruck): der könnte ja auch vom ersten Parameter 'auftrag' ausgelöst werden, wenn Auftragsnummer nicht Integer ist!? Um das herauszufinden, änderst halt testweise das SQL.Statement so, dass jeweils nur ein Parameter in der WHERE-Klausel enthalten ist...
  Mit Zitat antworten Zitat
Benutzerbild von MacNuke
MacNuke

Registriert seit: 19. Mai 2004
Ort: Rostock
42 Beiträge
 
#33

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 12. Dez 2006, 22:18
Zitat von raiguen:
Na, denn zeig uns doch mal die Lösung, wenn du schon 'mal eben auf die Schnelle' eine so verkorkste Tabelle erstellst. Hauptsache für deine Zwecke reicht es, dass andere damit evtl. vor unlösbaren Problemen stehen ist ja nebensächlich...
Warum so aggressiv?
No RISC, no Fun.

Dual PowerMac G4 1,25Ghz, 1,25 GB DDR-RAM, Radeon9800Pro, OSX.4.X
  Mit Zitat antworten Zitat
Benutzerbild von MacNuke
MacNuke

Registriert seit: 19. Mai 2004
Ort: Rostock
42 Beiträge
 
#34

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 12. Dez 2006, 23:40
Ich hab mal gerade blind was zusammengeklickt (hab ja halt jetzt nicht die Erfahrung damit)

Also ein DataSource mit einer Query verknüft und das DataSource mit dem GUI-Tabellen-Objekt.

Dann auf nen Schalter, das:
Delphi-Quellcode:
const
  SELECT_STMT
    = 'SELECT * FROM AdrTest A WHERE A."_BackupTime" = :datzeit';
var
  datZeit: TDateTime;
begin
  datZeit := StrToDate('12.12.2006') + StrToTime('22:54:06');;
  with Form1.Query1 do
  begin
    SQL.Text := SELECT_STMT;
    ParamCheck := True;
    Params.ParamByName('datzeit').AsDateTime:= datZeit;
    Open;
  end;
end;
Das hatte jetzt geklappt... naja. Wie gesagt, halt morgen noch mal gucken, woran das jetzt liegen kann. Ist dann wohl doch irgend ne Einstellung. Die BDE hat bei mir hier als Datums-Zeichen ein "/" drinnen. Naja. Mal gucken...

Vllt. kriegt man das ja mit irgendwelchen Datums-Formatierungs-Routinen hin, oder? Also das man Tag, Monat, Jahr, Minute etc. übergibt und er dann den korrekten Wert ausgibt, oder?

edit:
Ist eigentlich schon bekannt, dass das Forum unter OS X ziemlich buggy ist? Der schneidet mir einfach Text weg
No RISC, no Fun.

Dual PowerMac G4 1,25Ghz, 1,25 GB DDR-RAM, Radeon9800Pro, OSX.4.X
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 13. Dez 2006, 06:24
Zitat:
Ist eigentlich schon bekannt, dass das Forum unter OS X ziemlich buggy ist? Wink Der schneidet mir einfach Text weg Wink
Liegt wohl eher am Browser als am Forum.
Zitat:
Die BDE hat bei mir hier als Datums-Zeichen ein "/" drinnen.
Liegt an den Ländereinstellungen (Datumsformat) des Systems.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von MacNuke
MacNuke

Registriert seit: 19. Mai 2004
Ort: Rostock
42 Beiträge
 
#36

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 13. Dez 2006, 08:11
Zitat von mkinzler:
Liegt wohl eher am Browser als am Forum.
Hmm... mit Safari passiert, mit FireFox passiert, mit iCab passiert

Nee, am Browser liegt's nicht

Zitat von mkinzler:
Liegt an den Ländereinstellungen (Datumsformat) des Systems.
Naja gut. Die sind gleich auf Deutschland gestellt... naja. Mal gucken
No RISC, no Fun.

Dual PowerMac G4 1,25Ghz, 1,25 GB DDR-RAM, Radeon9800Pro, OSX.4.X
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 13. Dez 2006, 09:46
Zitat von raiguen:
Um das herauszufinden, änderst halt testweise das SQL.Statement so, dass jeweils nur ein Parameter in der WHERE-Klausel enthalten ist...
Wenn ich nur die Auftragsnummer abfrage funktioniert es ja auch, nur beim/mit _BackUpTime nicht.
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
 
#38

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 13. Dez 2006, 11:06
Zitat von SilverMoonGirl:
Wenn ich nur die Auftragsnummer abfrage funktioniert es ja auch, nur beim/mit _BackUpTime nicht.
Okay....
bzw 'Geistesblitz':
LocalSQL ist ein bischen 'eigensinnig', was 'Sonderzeichen' (und dazu gehört der Unterstrich am Anfang) im Feldnamen angeht: diese MÜSSEN in doppelten Anführungszeichen gesetzt werden - wie du es ja auch insoweit richtig gemacht hast - NUR: es ist dann auch zwingend erforderlich, den Tabellennamen voran zu setzen:
Delphi-Quellcode:
const
  SELECT_STMT
    = 'SELECT * FROM "Aufdate"
WHERE AuftragNr = :auftrag AND "aufdate"."_BackupTime" = :datzei
';
//-- bzw mithilfe eines TabellenAlias:
  SELECT_STMT
    = 'SELECT * FROM "Aufdate" A
WHERE A.AuftragNr = :auftrag AND A."_BackupTime" = :datzei
';

...
So sollte es dann endlich auch mit dem Datum/Zeit-Parameter funktionieren...
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 10:47
Also so langsam geb ich es auf, wenn ich in einem neuenProjekt folgendes ausprobiere, funktioniert alles
Delphi-Quellcode:
var
datumzeit: tdatetime;
begin
  datumzeit:= StrToDate('13.12.2006') + StrToTime('10:28:45');
  with Query1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM testdatum WHERE dat = :datum';
    ParamByName('datum').AsDateTime:= datumzeit;
    Open;
  end;
end;
in dem Projekt, wo ich es eigentlich brauche funktioniert es nicht. Könnt ihr vielleicht mal gucken, ob ich irgendetwas übersehen habe?

Delphi-Quellcode:
const
  SELECT_STMT
    = 'SELECT * FROM "[...]\Aufdate" WHERE AuftragNr = :auftrag AND "Aufdate"."_BackupTime" = :datzei';

Var
datumzeit: TDateTime;
begin
  datumzeit:= StrToDate(DBGdatum.SelectedField.AsString) + StrToTime(DBGZeit.SelectedField.AsString);

  with DBmodul.QcopyTable do
  begin
    Close;
    SQL.Text:= SELECT_STMT;
    ParamByName('auftrag').AsInteger := DBGrid1.SelectedField.AsInteger;
    ParamByName('datzei').AsDateTime:= datumzeit;
    Open;
  end;
end;
Ich versteh das nicht
Simone
There is no dark side of the moon really.
Matter of fact it's all dark.
.::mein Blog::.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#40

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 15. Dez 2006, 10:49
Aloha Simi,

setz mal den Debugger in Zeile 8 und schau dir mal an, was in den Werten überhaupt drin steht.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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