Hallo Zusammen !
Ich bin gerade dabei, eine MS-SQL Datenbank mit Hilfe eines
ListIconGadget anzuzeigen. Die Datenbank ist über
ODBC erreichbar.
Soweit funktioniert alles. Nur bekomme ich in den Feldern, in denen eine Uhrzeit bzw. ein Datum steht keine richtigen Werte zurück.
Ich habe das Feld ausgelesen und dann versucht es mit FormatDate() zu formatieren. Ohne Erfolg !
Kann mir da jemand weiterhelfen ? Schonmal herzlichen Dank und
viele Grüße
Jörg
Datum aus SQL-Datenbank auslesen
-
Unimatrix Zero
- Beiträge: 48
- Registriert: 13.10.2004 23:47
Hallo Jörg,
die Datumswerte in einer MS-SQL Datenbank werden als Double gespeichert.
Es gab hier mal irgendwo einen Thread, der beschrieb wie man aus einer API-Funktion einen Double als Rückgabewert bekommen kann, ich fürchte allerdings, da man ja nur "GetDatabaseLong" als Befehl hat, daß das nicht so einfach geht.
Ich habe damals kurzer Hand meine Datumswerte in den SQL Tabellen so umformatiert, daß ich mit Longs zurechtkam (20050104 Bspw. als Datum) oder eben als String ( hat aber den Nachteil, daß sich die Daten u.U. nicht mehr richtig sortieren lassen).
Du könntest natürlich auch bei der Abfrage versuchen mit einem "Convert" Befehl im SQL, die Datumswerte vorher in einen String umzuwandlen oder über den "DatePart" Befehl Dir die Einzelteile des Datums als LongWerte abfragen.
die Datumswerte in einer MS-SQL Datenbank werden als Double gespeichert.
Es gab hier mal irgendwo einen Thread, der beschrieb wie man aus einer API-Funktion einen Double als Rückgabewert bekommen kann, ich fürchte allerdings, da man ja nur "GetDatabaseLong" als Befehl hat, daß das nicht so einfach geht.
Ich habe damals kurzer Hand meine Datumswerte in den SQL Tabellen so umformatiert, daß ich mit Longs zurechtkam (20050104 Bspw. als Datum) oder eben als String ( hat aber den Nachteil, daß sich die Daten u.U. nicht mehr richtig sortieren lassen).
Du könntest natürlich auch bei der Abfrage versuchen mit einem "Convert" Befehl im SQL, die Datumswerte vorher in einen String umzuwandlen oder über den "DatePart" Befehl Dir die Einzelteile des Datums als LongWerte abfragen.
cya
Unimatrix Zero
<= Die Welt um mich herum ist in mir.(Blaise Pascal) =>
Unimatrix Zero
<= Die Welt um mich herum ist in mir.(Blaise Pascal) =>
Hallo Unimatrix Zero !
Zunächst herzlichen Dank für Deine Antwort.
Die Sache mit dem CONVERT habe ich mittlerweile auch
ein paarmal im Internet gefunden. Da ich aber nicht aus
der SQL-Ecke komme, wollte ich dich fragen, ob du es
ein klein wenig genauer beschreiben kannst.
Bei mir sieht das folgender Maßen aus.
Ich habe ein Datenbankfeld vom Typ >datetime<.
Dort steht ja dann jede Menge drin. Langes Datum
incl. einer Uhrzeit.
Was müßte ich denn tun? Bei jedem SELECT Befehl
diesen CONVERT Befehl einfügen ???
Wäre nett, wenn Du mir noch mal weiterhelfen könntest.
Danke und Gruß
Jörg
Zunächst herzlichen Dank für Deine Antwort.
Die Sache mit dem CONVERT habe ich mittlerweile auch
ein paarmal im Internet gefunden. Da ich aber nicht aus
der SQL-Ecke komme, wollte ich dich fragen, ob du es
ein klein wenig genauer beschreiben kannst.
Bei mir sieht das folgender Maßen aus.
Ich habe ein Datenbankfeld vom Typ >datetime<.
Dort steht ja dann jede Menge drin. Langes Datum
incl. einer Uhrzeit.
Was müßte ich denn tun? Bei jedem SELECT Befehl
diesen CONVERT Befehl einfügen ???
Wäre nett, wenn Du mir noch mal weiterhelfen könntest.
Danke und Gruß
Jörg
-
Unimatrix Zero
- Beiträge: 48
- Registriert: 13.10.2004 23:47
Hallo Jörg,
kein Problem.
Die Syntax für Convert lautet:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Ein Beispiel wie man mit dem Convert-Befehl eine SQL Abfrage gestalten kann:
Der Wert 104 ergibt sich aus einer Tabelle und stellt die Art dar, wie der String ausgegeben werden soll, in diesem Falle im Format "dd.mm.yyyy"
Leider kann ich gerade auf die schnelle keinen passenden Link finden und ich will jetzt auch nicht die ganze Liste von möglichen Werten hier kopieren.
Falls Du sie benötigst, schicke ich sie Dir selbstverständlich zu.
kein Problem.
Die Syntax für Convert lautet:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Ein Beispiel wie man mit dem Convert-Befehl eine SQL Abfrage gestalten kann:
Code: Alles auswählen
select convert(nvarchar,DeinDatumsFeld,104) as DatumString from DeineTabelle where DeineBedingung
Leider kann ich gerade auf die schnelle keinen passenden Link finden und ich will jetzt auch nicht die ganze Liste von möglichen Werten hier kopieren.
Falls Du sie benötigst, schicke ich sie Dir selbstverständlich zu.
cya
Unimatrix Zero
<= Die Welt um mich herum ist in mir.(Blaise Pascal) =>
Unimatrix Zero
<= Die Welt um mich herum ist in mir.(Blaise Pascal) =>
-
Unimatrix Zero
- Beiträge: 48
- Registriert: 13.10.2004 23:47
Hallo Jörg,
jetzt habe ich doch noch einen Link gefunden:
http://msdn.microsoft.com/library/defau ... o_2f3o.asp
jetzt habe ich doch noch einen Link gefunden:
http://msdn.microsoft.com/library/defau ... o_2f3o.asp
cya
Unimatrix Zero
<= Die Welt um mich herum ist in mir.(Blaise Pascal) =>
Unimatrix Zero
<= Die Welt um mich herum ist in mir.(Blaise Pascal) =>