14. juni 2001 - 18:21Der er
21 kommentarer og 1 løsning
Dansk datoformat / engelsk datoformat
Hej!
Jeg oensker at have en (MySQL)database bag/under (?) min kalender (lavet i ASP), hvor jeg vil registrere forskellige begivenheder.
Jeg har to problemer. 1.) Jeg kan ikke finde/bruge \'DATE\' som en \"felttype\", naar jeg opretter mit dato-felt i databasen. Hvis jeg \"koerer\":
conn.Execute \"ALTER TABLE [dbo].[mindatabase] ADD oprettet DATE\"
faar jeg:
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC SQL Server Driver][SQL Server]Column or parameter #5: Cannot find data type DATE
Men hvis jeg aendre \'DATE\' til \'DATETIME\', bliver kolonnen tilfoejet uden problemer. Hvilken type kan jeg bruge, hvis jeg bare oensker \'dd-mm-yyyy\'?
2.) Naar jeg saa tilfoejer \'now\' (12-06-2001 12:05) til \'oprettet\'-feltet og henter datoen, faar jeg en \"decemberdato\" (06-12-2001 12:05) (det var i forgaars).
Kan jeg ikke aendre database-indstillinger til danske??? Eller bliver jeg noedt til at aendre datoen hver gang, jeg henter den fra databasen?
Jeg er ked af, hvis dette er et gentaget spoergsmaal, men jeg kunne ikke se det i foerste omgang...
Så videt jeg kan se vil MySQL altid forsøge at fortolke en dato efter amerikansk (britisk?) forbillede (mm-dd-yyyy), men du burde kunne bruge DATE_FORMAT(dato der skal konverteres, format) f.eks.: DATEFORMAT(06-12-2001, %d-%m-%Y) som skulle returnere: 12-06-2001
OK, saa du siger, at det ikke er muligt at aendre database-land-opsaetningen og, at jeg bliver noedt til at aendre datoen HVER gang, jeg henter den fra databasen!?
Hvad med typen - er der ikke en, som vil lade mig gemme min dato som \"dd-mm-yyyy\" eller i det mindste uden klokken?
Det kan godt være at det kan lade sig gøre men denne konstruktion har jeg fundet på MySQL\'s mailingliste hos en der også ville have et bestem dato-format: select DATE_FORMAT((dato), \'%d-%m-%Y\') from (tabel)
Er det virkelig så slemt at bruge den konstruktion, du kan vel lave en funktion der håndterer det?
Hmm der skulle nu have stået SELECT, men: \"DATE_FORMAT((dato), \'%d-%m-%Y\')\" kan faktisk opfattets som en kolonne på lige fod med en hver anden i forhold til dit select statement. Det svarer bare til at du havde skrevet:
Select \"kolonne0\", \"kolonne1\" from tabel where a=b eller sådan noget i den stil...
Jeg kan bare ikke forstaa, at jeg ikke kan bruge \'DATE\' men \'DATETIME\' er der ingen problemer med. Hvad er navnet paa typen som kun lagrer datoen (uden tiden)?
Jvf. den bog jeg kiggede i så er DATE den rigtige type, men dit problem ser ud til at stamme fra ODBC driveren ikke fra MySQL.
Mht. SELECT-statement så kan det godt være at man kan lave en konstruktion hvor man laver den ønskede konvertering og samtidig får fat i de andre søjler, men jeg ved ikke hvordan. Det er dog ikke noget problem hvis du laver en funktion/procedure der håndterer din forespørgsel, så skal du kune skrive kolonne navnene én gang og du kan blot indsætte de relevante oplysninger i forespørgslen vha. funktionen.
Men hvordan kan det vaere, at naar jeg tilfoejer \'12-06-2001\' og databasen tilsyneladende gemmer datoen som \'2001-06-12\', at jeg saa faar \'06-12-2001\' naar jeg henter min dato?
Det maa I alle virkelig undskylde - hvor dum kan jeg vaere! Jeg har ikke adgang til mySQL, da jeg bruger ASP. Til gengaeld har jeg adgang til en SQL Server 7...
JA! De forslag jeg kom med er baseret på MySQL og det er denne kategori også! Når det er sagt så får du måske svar alligevel, men det var nok en god ide at placere spørgsmålet rigtigt og desuden så kender jeg ikke noget til ASP men hvorfor kan du ikke bruge MySQL med ASP? Er det ikke bare et spørgsmål om driver og den rigtige connection?
ladyhawke>> Jeg er meget ked af min dumhed! Jeg vil dog gerne give dig nogle points for din tid - selvom du ikke rigtig loeste mit problem (men det er min skyld).
hvad med at skrive <% session.LCID = 1030 %> øverst i dokumentet?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.