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 2 von 5     12 34     Letzte »    
raiguen
(Gast)

n/a Beiträge
 
#11

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 7. Dez 2006, 15:28
Zitat von SilverMoonGirl:
...
Ich habe eine Tabelle mit einer Spalte _BackUpTime vom Typ DateTime, deren Inhalt so aussieht
"15:11:45, 17:11:2006"
...
Sehe jetzt gerade (*sollte mal meine Brille putzen*gg*) dass 1. Datum und Zeit vertauscht sind und 2. der Datumstrenner gleich dem Zeittrenner ist...
Davon mal abgesehen stellt sich mir immer noch die Frage, wie kommt es zu dieser doch merkwürdigen Anzeige? Das Tabellenfeld scheint ja doch vom Typ DateTime zu sein...
Wie hast du den FeldInhalt angezeigt? Mal direkt über die DatenbankOberfläche bzw den DatenbankExplorer oder kommt der gleich aus einer SQL-Abfrage? Ist irgendwo speziell für dieses Feld im FeldEditor (ObjektInspektor!) ein DisplayFormat in der o.a. Form eingegeben??
Mir will es einfach nicht in den Kopf, dass eine 'schnöde' ParadoxTabelle (sorry für den Ausdruck) ein DateTime-Feld so 'verkorkst' darstellt Da muss irgendwo anders noch was gedreht worden sein...
  Mit Zitat antworten Zitat
marabu

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 7. Dez 2006, 21:47
Hallo Simone,

vielleicht besser so:

Delphi-Quellcode:
const
  SELECT_STMT
    = 'SELECT * FROM Aufdate A WHERE AuftragNr = :auftrag AND A."_BackupTime" = :datzeit'
    ;
var
  datZeit: TDateTime;
begin
  datZeit := DBGZeit.SelectedField.AsDateTime;
  with DBmodul.QcopyTable do
  begin
    SQL.Text := SELECT_STMT;
    // ParamCheck := True; // Im OI reicht ...
    Params.ParamByName('auftrag').AsInteger := DBGrid1.SelectedField.AsInteger;
    Params.ParamByName('datzeit').AsDateTime:= datZeit;
    Open;
  end;
Gute Nacht
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 7. Dez 2006, 21:51
Zitat von raiguen:
Da muss irgendwo anders noch was gedreht worden sein...
Viel schlimmer, ich bin zu blöd zum abschreiben und habe ein paar Doppelpunkte zuviel gemacht Und was noch viel schlimmer ist, es ist mir nichmal aufgefallen
Richtig wäre eigentlich "15:11:45, 17.11.2006" gewesen.

Sorry, das war echt keine Absicht
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
 
#14

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 7. Dez 2006, 22:38
Zitat von SilverMoonGirl:
...
Richtig wäre eigentlich "15:11:45, 17.11.2006" gewesen.

Sorry, das war echt keine Absicht
Passiert jedem irgendwann einmal, grad dann, wenn man eh ein bissl unter Stress steht... also, take it easy...

Trotz alledem muss ich nochmal auf das hier zurückkommen:
Zitat von SilverMoonGirl:
...
Ich habe eine Tabelle mit einer Spalte _BackUpTime vom Typ DateTime, deren Inhalt so aussieht
"15:11:45, 17:11:2006"

Dies habe ich jeweils in Zeit und Datum getrennt und zur weiteren Bearbeitung als String umgewandelt.
...
Was mir immer noch nicht in den Kopf will ist diese Art der 'Anzeige' des DateTime-Feldes (mal abgesehen davon, dass der Datumstrenner da nicht korrekt ist) -> hat Paradox 9 neuerdings erst die Zeit und dann das Datum und dann auch noch mit Komma und Leerzeichen getrennt? Dann wäre der Name Paradox im wahrsten Sinne des Wortes zu Recht
Und wie hast du diesen merkwürdigen Feldinhalt in einen String reinbekommen, um diesen dann nach Datum und Zeit zu trennen?
Nochmal: hast du dir die Tabelle und speziell das Feld mit der DB-Oberfläche oder ähnlichem Delphi-eigenem Dateibetrachter angeschaut? Steht das da wirklich so drin???

Sorry, alle bisher gemachten Vorschläge zwecks DatumZeit-'Umwandlung' für die Query können m.E. zu nichts führen (ausser zu Fehlern), weil IMHO irgendetwas mit dem FeldInahlt nicht stimmt
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 8. Dez 2006, 09:35
Zitat von raiguen:
Und wie hast du diesen merkwürdigen Feldinhalt in einen String reinbekommen, um diesen dann nach Datum und Zeit zu trennen?
So:
Delphi-Quellcode:
with DBmodul.Qbackuptime do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT Aufdate."_BackUpTime" AS Datum FROM Aufdate WHERE '+ Spaltename+ ' = :zelleNr');
    ParamCheck:= true;
    ParamByName('zelleNr').AsInteger:= StrToInt(Nr);
    Open;
  end;

datumzeit:= dbmodul.Qbackuptime.FieldByName('Datum').AsDateTime;

 with dbmodul.Qdatum do
    begin
      [...]
      FieldByName('Datum').AsString:= DateToStr(datumzeit); //Datum
      FieldByName('Zeit').AsString:= TimeToStr(datumzeit); //Zeit
      [...]
    end;
Zitat von raiguen:
Nochmal: hast du dir die Tabelle und speziell das Feld mit der DB-Oberfläche oder ähnlichem Delphi-eigenem Dateibetrachter angeschaut? Steht das da wirklich so drin???
Ja habe ich, zu sehen im Anhang
Miniaturansicht angehängter Grafiken
spalte_328.jpg  
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
 
#16

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 8. Dez 2006, 10:21
Besten Dank Simone!
Allerdings komme ich einfach nicht mit dem 'Format' des DateTime-Feldes klar; scheint mir echt ne 'Neuerung' in Paradox 9 zu sein
Wo bzw wie wird überhaupt die BackupTime bzw dieses Tabellenfeld gefüllt??...
Sorry, wenn ich dumme Fragen stelle, aber wie bereit gesagt; ich blick da nicht mehr durch *schulterzuck*
  Mit Zitat antworten Zitat
marabu

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 8. Dez 2006, 10:43
Hi,

wenn das Feld vom Type ftDateTime (@) ist, dann ist mir doch die Darstellung in Paradox 9 egal. Ich bleibe vorerst bei meinem Lösungsansatz aus Beitrag #12.

Freundliche Grüße
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#18

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 8. Dez 2006, 11:19
Zitat von marabu:
Hi,

wenn das Feld vom Type ftDateTime (@) ist, dann ist mir doch die Darstellung in Paradox 9 egal. Ich bleibe vorerst bei meinem Lösungsansatz aus Beitrag #12.

Freundliche Grüße
na klar! Da hast du völlig Recht! Ich habe mich da durch die merkwürdige Darstellungsart (Anzeige) völlig irritieren lassen und somit auch entsprechend falsche Gedankengänge gehabt! Sorry!

@Simone: ähnliche Irritation ist dir insofern ja auch unterlaufen siehe #1
Code:
datumzeit:= DBGZeit.SelectedField.AsString + ', '+ DBGdatum.SelectedField.AsString ;
So dürfte es dann funktionieren:
Code:
datumzeit:= DBGDatum.SelectedField.AsString + ' ' + DBGZeit.SelectedField.AsString ;
und natürlich das was marabu gesagt hat...

Viel Erfolg!
  Mit Zitat antworten Zitat
Benutzerbild von SilverMoonGirl
SilverMoonGirl

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 11. Dez 2006, 15:45
Also ich hab das jetzt nochmal probiert, aber irgendwas mach ich immer noch falsch

Jetzt bekomme ich den Fehler zurück, dass die Typen im Ausdruck nicht übereinstimmen.

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

datumzeit:= DBGzeit.SelectedField.AsDateTime + DBGdatum.SelectedField.AsDateTime;

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

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

Re: Zeit/Datumswert mit einer Tabelle vergleichen

  Alt 11. Dez 2006, 15:55
Hallo Simone,

du hast vergessen die Zeile zu markieren, in welcher der Compiler meckert.

Die Zuweisung an SQL.Text macht ein vorheriges SQL.Clear überflüssig. Die Eigenschaft ParamCheck setzt man in der Regel nur einmal und dann im OI.

Freundliche Grüße
  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 18:09 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