Autor Beitrag
jojo-sp
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 317

Windows XP Prof, Vista Ultimate & Home Premium, Windows 7
Delphi 7 Enterprise, Delphi 2009
BeitragVerfasst: Mi 14.02.07 10:47 
Ich weiß irgendwie nicht weiter.

In der Paradox-Tabelle existiert ein Feld vom format @(Date/Time).
In meinem Prog baue ich folgenden SQL-String zusammen, den ich mit dem BDE-Query abschicke.
ausblenden SQL-Anweisung
1:
Insert Into "Muster.DB" (Zahl,String,Zeitstempel) Values (123,"Hallo Welt","07.07.2007 07:07:07")					


Die BDE bringt folgende Meldung:
... Exception der Klasse EDBEngineError ... 'Ungültiges Befehlsende Symbol-String: "07.07.2007 07?
Zeilennummer 1'...

ich habe ebenfalls versucht, das Datum als Real-Wert zu übergeben, aber dann kommt die Meldung
... Exception der Klasse EDBEngineError ... 'Keine Übereinstimmung der Typen im Ausdruck' ...

Mit Parametern kann ich leider in diesem Fall nicht arbeiten.

Muss ich vielleicht den DateTime-Wert anders Formatieren?

Bitte keine Kommentare ála "Wieso BDE+Paradox? Das ist doch veraltet!!!"

_________________
Ist der Ruf erst ruiniert, lebts sich gänzlich ungeniert...
Wilhelm Busch (1832 - 1908)
basti_1984
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 104

Linux, Win Xp, Win 2000
Delphi, C, C++, PHP,
BeitragVerfasst: Mi 14.02.07 10:53 
Ich könnte mir vorstellen das das Format genau andes herum sein muss. du hast jetzt DD.MM.YYYY probier mal YYYY.MM.DD. evtl. auch mit Bindestrich anstatt mit punkt.

_________________
Wissen ist Macht. Nichts zu Wissen macht auch nichts
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Mi 14.02.07 10:54 
Es sieht so aus (nagel mich jetzt nicht drauf fest), dass die Datenbank das Datums/Zeitformat nicht richtig interpretiert. Anscheinend versteht es die von Dir verwendete Schreibweise nicht. Schau halt nochmal nach, wie genau diese zu erfolgen hat (Hilfstext?). Möglicherweise muss es in Englischer Schreibweise erfolgen, z.B. MM/TT/JJJJ für das Datum und HH.MM.SS für die Uhrzeit. Ich würde einfach mal probieren, nur die Uhrzeit oder nur das Datum anzugeben.

_________________
Es gibt keine Probleme - nur Lösungen!
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Mi 14.02.07 10:56 
Ne, ich glaube, auch in englischer Schreibweise müssten bei der Uhrzeit Doppelpunkte verwendet werden. Sorry. Mein Fehler.
Aber Du hast schon richtig erkannt - es könnte auch daran liegen, dass das Datumsformat intern als Integerwert verpackt ist. Übergib doch testweise auch mal einfach den Wert 0 oder 35000 oder so...

_________________
Es gibt keine Probleme - nur Lösungen!
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 14.02.07 11:31 
ungetestet, schau dir doch mal das format an, welches die funktion: DateTimeToString zurückgibt. damit solltest du eigentlich klarkommen. <HTH>
jojo-sp Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 317

Windows XP Prof, Vista Ultimate & Home Premium, Windows 7
Delphi 7 Enterprise, Delphi 2009
BeitragVerfasst: Mi 14.02.07 11:40 
Meine erster Versuch war ja mit DatetimeToStr, danach FormatDateTime in den verschiedensten Varianten.
Wenn ich die Uhrzeit weglasse funktioniert es.

Sicher, dass in der Datenbank das Feld @(Date/Time) nur im Integer-Format vorliegt?
Ich war immer davon überzeugt, dass es ein real/float sein muss, da ja ansonsten die Uhrzeit fehlen würde.

_________________
Ist der Ruf erst ruiniert, lebts sich gänzlich ungeniert...
Wilhelm Busch (1832 - 1908)
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 14.02.07 11:46 
die datenbank speichert es ab, wie es der jeweilige programmierer für am besten hielt. die einzige schnittstelle die einigermassen normiert ist, ist das sql statement. normal sollten lokale formate und das ISO format akzeptiert werden. das ISO format für das datum ist: YYYYMMTT oder YYYY/MM/TT

somit würd ich erst mal etwas wie folgt ausprobieren:
  • 2007/07/07 07:07:07
  • 2007/07/07 07:07:07.00


Edit: kannst auch mal die Funktion DateTimeToTimeStamp probieren.


Zuletzt bearbeitet von Grenzgaenger am Mi 14.02.07 11:52, insgesamt 1-mal bearbeitet
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 14.02.07 11:46 
Am besten du verwendest Parameter

_________________
Markus Kinzler.
basti_1984
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 104

Linux, Win Xp, Win 2000
Delphi, C, C++, PHP,
BeitragVerfasst: Mi 14.02.07 11:56 
ich glaube man konnte bei paradox sagen das das feld gefüllt sein muss nimm mal den haken raus wenn du ihn drin hast.

_________________
Wissen ist Macht. Nichts zu Wissen macht auch nichts
jojo-sp Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 317

Windows XP Prof, Vista Ultimate & Home Premium, Windows 7
Delphi 7 Enterprise, Delphi 2009
BeitragVerfasst: Mi 14.02.07 12:22 
Das ist ja de Haken an der Sache, dass der Haken nicht gesetzt ist ;-),
aber da das feld gefüllt würde, müsste ihm das eh egal sein.

@mkkinzler:
Zitat:

Mit Parametern kann ich leider in diesem Fall nicht arbeiten.

_________________
Ist der Ruf erst ruiniert, lebts sich gänzlich ungeniert...
Wilhelm Busch (1832 - 1908)
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 14.02.07 12:31 
Zitat:
Mit Parametern kann ich leider in diesem Fall nicht arbeiten.
Warum nicht?

_________________
Markus Kinzler.
basti_1984
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 104

Linux, Win Xp, Win 2000
Delphi, C, C++, PHP,
BeitragVerfasst: Mi 14.02.07 12:33 
Okay dann setz doch einfach den Datentyp auf varchar - nur wenn du das feld nicht weiter asuwerten wilst

_________________
Wissen ist Macht. Nichts zu Wissen macht auch nichts