SQL DATETIME

Alles zum PostgreSQL-Server

Moderator: Moderatoren

SQL DATETIME

Beitragvon AUGE_OHR » Do, 25. Sep 2014 7:02

bei SQL man bekommt ja einen "YYYY-MM-DD HH:MM:SS" String beim Type DATETIME zurück.
nun könnte man den String zerlegen in dDate und cTime ... z.b. für Datums Berechnungen.

es gibt ja nun die Windows API Structur FILETIME welche mit ot4xb so funktioniert
Code: Alles auswählen
#include "ot4xb.ch"

proc main
local oft := FileTime64():New()
oft:now(.T. )   // use .T. to get local time instead of GTM
? oft:cTimeStamp
? oft:GetTimeStamp19()
? oft:_GetTimeStamp_("%04.4hu%02.2hu%02.2hu%02.2hu%02.2hu%02.2hu.%03.3hu")
? oft:_GetTimeStamp_("Year:%04.4hu Month:%02.2hu Day:%02.2hu Hour: %02.2hu Minute: %02.2hu Secconds: %02.2hu Milliseconds: %03.3hu")

inkey(0)
return
damit kann ich also auch direkt Datum / Time Berechungen (+/-) anstellen.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10154
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: SQL DATETIME

Beitragvon satmax » Fr, 26. Sep 2014 6:15

Danke, kann ich gut gebrauchen.
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon satmax » Sa, 04. Okt 2014 20:12

Hallo Jimmy,

eben wollte ich Deinen Hinweis mit dem Datum verwenden. Bei mir geht das aber nicht (Win8.1 Xbase++ V2.0):

Ich komme genau bis zur Zeile 4:

Code: Alles auswählen
------------------------------------------------------------------------------
ERROR LOG of "C:\dev\DevSrc\Test2\sample.exe" Date: 10/04/2014 21:07:35

Xbase++ version     : Xbase++ (R) Version 2.00.554
Operating system    : Windows 8.1 06.03 Build 09600
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: U VALUE: NIL
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: Y
oError:cargo        : NIL
oError:description  : Receiver of message is not an object.
oError:filename     :
oError:genCode      :         38
oError:operation    : New
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       2266
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from MAIN(4)
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon georg » Sa, 04. Okt 2014 20:50

Hallo, Markus -


#PRAGMA Library("OT4XB.LIB")

mal ausprobiert? Wobei es mich wundert, dass Du keine Compiler-Warnung für FileTime64 bekommen hast ...
Liebe Grüsse aus der Eifel,

Georg
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1769
Registriert: Fr, 08. Feb 2008 21:29

Re: SQL DATETIME

Beitragvon satmax » Sa, 04. Okt 2014 20:53

Hab ich, steht aber schon im OT4XB.CH:

#ifndef _OT4XB_CH_
#define _OT4XB_CH_
#pragma library ("ot4xb.lib")
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon AUGE_OHR » Sa, 04. Okt 2014 22:26

satmax hat geschrieben:Hab ich, steht aber schon im OT4XB.CH
hm ... welche Version von ot4xb hast du ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10154
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: SQL DATETIME

Beitragvon satmax » Sa, 04. Okt 2014 22:30

Build 001.005.003.176
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon satmax » Sa, 04. Okt 2014 22:34

War ein Fehler, ich habe V1.6.0.167
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon AUGE_OHR » So, 05. Okt 2014 1:06

[quote"satmax"]Build 001.005.003.176[/quote]könnte sein das es damals nur FILETIME() hiess
satmax hat geschrieben:War ein Fehler, ich habe V1.6.0.167
damit sollte es funktionieren, oder ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10154
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: SQL DATETIME

Beitragvon satmax » Mo, 06. Okt 2014 6:27

Nein, geht leider nicht, auch nicht auf meinem PC (beide Win 8.1/64).
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon satmax » Di, 07. Okt 2014 6:44

Jimmy, kannst Du mir bitte eine EXE mit Deinem obigen Code geben? Ich möchte nur mal sehen ob es damit geht. Zur Fehlereingrenzung, ich habe nämlich überhaupt keine Idee was da los ist...
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon brandelh » Di, 07. Okt 2014 9:48

bei solchen Sachen immer auf die FEHLERMELDUNG sehen:

Code: Alles auswählen
oError:args         :
          -> VALTYPE: U VALUE: NIL
...

Es handelt sich nur um EINE Variable, sonst wären hier mehr Zeilen !
Code: Alles auswählen
oError:description  : Receiver of message is not an object.

Es wurde versucht eine Methode auf ein Objekt anzuwenden (normalerweise reden wir von einem Objekt, das eine Methode ausführt,
aber intern sieht es genau anders herum aus.
Um welche Zeile handelt es sich genau ?
Ich zähle oben die 4. Zeile (Leerzeilen zählen mit) und sehe das:
Code: Alles auswählen
local oft := FileTime64():New()

hier sollte NEW auf ein Klassen-OBJECT der Klasse FileTime64() angewendet werden, das Ergebnis sollte dann an oft übergeben werden !
Die Verkettung von all dem in eine LOCAL Zeile ist zwar nett anzusehen, stört aber beim debuggen.
Ich würde den Quellcode in so einem Fall aufteilen und im Debugger ansehen (oder mit ? ausgeben):
Code: Alles auswählen
local oft, oK
oK := FileTime64() // Klassenobjekt erzeugen
if oK = NIL
   ? "Fehler oK=NIL"
endif
oft := oK:New() // Eine Instanz (Objekt erzeugen)
if oft = NIL
   ? "Fehler oft = NIL"
endif

Ich tippe auf "Fehler oK=NIL" was bedeuten würde, dass die Funktion zwar vorhanden ist ...
sonst würde eine Fehlermeldung auf interne ot4xb Funktionen erscheinen (die kenne ich von HBPrintPDF) ...
entweder fehlen Rechte oder die Parameter haben sich geändert, Win 8.1 scheint sich auf jeden Fall anders zu verhalten.
Das sollte man Pablo fragen, wenn man alle anderen Fehler ausgeschlossen hat ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13273
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: SQL DATETIME

Beitragvon satmax » Di, 07. Okt 2014 10:30

Ja Hubert, du tippst richtig, "Fehler oK=NIL". Also via Newsgroup Pablo fragen?


Nachtrag: auch unter Windows 8 und Server 2008/R2 und Server 2012 gleiches Problem. Aber alle 64 Bit.
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon brandelh » Di, 07. Okt 2014 11:43

Ich kann aktuell nur unter Windows 7 testen und da geht es auch unter 64 bit.
Notfalls kann man aber auch unter der MSDN nach FileTime64 suchen ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13273
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: SQL DATETIME

Beitragvon brandelh » Di, 07. Okt 2014 11:45

es heißt nur FileTime ... und da steht nichts von Problemen ...

:arrow: http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13273
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: SQL DATETIME

Beitragvon satmax » Di, 07. Okt 2014 11:52

Ich würde mal gerne eine EXE von Dir testen, eventuell habe ich ja ein Problem mit der LIB, DLL,... Habe zwar alles schon doppelt und dreifach gecheckt, aber...

Außerdem überlege ich gerade mir eine eigene Klasse zu schreiben.
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon brandelh » Di, 07. Okt 2014 12:13

es liegt nicht an Windows 8, sondern an Xbase 2.00 !
Wenn ich das Programm mit SL1 kompiliere funktioniert es, mit 2.00 kommt deine Fehlermeldung auch unter Win 7
Code: Alles auswählen
------------------------------------------------------------------------------
ERROR LOG of "D:\HB_XBASE\Test\FileTime64\TEST.EXE" Date: 10/07/2014 13:10:32

Xbase++ version     : Xbase++ (R) Version 2.00.547
Operating system    : Windows 7 06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: U VALUE: NIL
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: Y
oError:cargo        : NIL
oError:description  : Receiver of message is not an object.
oError:filename     :
oError:genCode      :         38
oError:operation    : New
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       2266
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from MAIN(8)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13273
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: SQL DATETIME

Beitragvon satmax » Di, 07. Okt 2014 12:15

Danke, meldest Du das an Alaska oder soll es ich tun?
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon brandelh » Di, 07. Okt 2014 12:17

Ich habe es in Pablos Forum gepostet, Alaska hat ja keinen Quellcode ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13273
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: SQL DATETIME

Beitragvon AUGE_OHR » Di, 07. Okt 2014 16:57

brandelh hat geschrieben:es liegt nicht an Windows 8, sondern an Xbase 2.00 !
hm ... mit der v2.0.519 (beta5) läuft es unter Win7 32bit.
Es wäre ja ein Witz wenn es mit der Xbase++ Release v2.x Version nicht mehr läuft :badgrin:
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10154
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: SQL DATETIME

Beitragvon satmax » Di, 07. Okt 2014 18:49

Auch SQLExpress ging bis v2.0.519, danach benötigte man ein Update.
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon AUGE_OHR » Di, 07. Okt 2014 22:18

satmax hat geschrieben:Auch SQLExpress ging bis v2.0.519, danach benötigte man ein Update.
na ja bei SQLexpress wird ja auch noch Xbase++ benutzt dir in der erzeugten DLL / LIB steht "This_DLL_needs_version_1_90_0" welche nicht mit der v2.x läuft.
bei ot4xb handelt es sich ja um reine API Function die mit jeder Windows Version laufen sollte, also ist Xbase++ v2.x das Problem
wie schon gesagt läuft es bei der beta5 Version noch unter Win7 32bit und Win8.1 64bit.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10154
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: SQL DATETIME

Beitragvon satmax » Mi, 08. Okt 2014 12:01

Hallo Jimmy,

Du hast es sicher schon gelesen, aber der Vollständigkeit halber auch hier im Forum, Alaska hat geantwortet:

==============================
Bitte nehmen Sie mit Pablo Botella Verbindung auf. Ich denke das ein
Rebuild der Bibliothek erforderlich ist.

Mit Xbase++ 2.0 haben wir das interne Typen Management überarbeitet,
das bedingt ein neues Bauen aller Bibliotheken die unter Verwendung
der C-API in C/C++ gebaut wurden.

Es ist dann auch die geänderte Dokumentation der C-API zu beachten, die
beschreibt, wie auf Xbase++ Typen hin zu prüfen. ist.

==============================
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: SQL DATETIME

Beitragvon AUGE_OHR » Do, 09. Okt 2014 0:01

satmax hat geschrieben:Du hast es sicher schon gelesen, aber der Vollständigkeit halber auch hier im Forum, Alaska hat geantwortet:
mit der Beta5 hat es funktioniert und bei RC1 war Schluss ... glaubst du wirklich das Alaska in der Phase was geändert hat ( ausser die "Aktivierung" ) ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10154
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg


Zurück zu SQL-Server

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste