Avatar billede plumo Nybegynder
18. november 2003 - 12:16 Der er 10 kommentarer og
1 løsning

dato fejl!

Hej alle sammen. Jeg har for nyligt skiftet webhotel, som også fik mig nødsaget til at konventerer min 'Access' database til 'MySQL'. Derfor oplever jeg en hel del problemer, og et af dem, vil jeg have jer til at løse for mig.

Jeg har et felt i min database, som hedder 'lastlogin'. Datatypen på den er sat til 'datetime'. dermed har jeg en sætning som lige skal passes til: SQL = "UPDATE members SET lastlogin = '" & now() & "' WHERE id = " & RSfound("id")


Problemet er så, at det format now() udskriver, muligvis er forskellig fra det format som databasen forstår. Derfor skal jeg have de 2 formater til at passe sammen.


I kan se mere her: http://www.eksperten.dk/spm/427175
link til fejl: http://www.b-teens.dk/?page=3&mode=member&id=535

På forhånd tak. David
Avatar billede mortenkjeldberg Nybegynder
18. november 2003 - 13:30 #1
Prøv evt. at skrive feltet ud for at se hvad der forventes.

/Morten
Avatar billede mortenkjeldberg Nybegynder
18. november 2003 - 13:32 #2
I spørgsmålet du refererer til er der to " på hver side af now()

/morten
Avatar billede plumo Nybegynder
18. november 2003 - 13:39 #3
prøv nu, det er denne fejl jeg mener: http://www.b-teens.dk/?page=3&mode=member&id=535
Avatar billede cool_casper Nybegynder
20. november 2003 - 01:12 #4
Formatet er anderledes i MySQL, da de har deres helt eget dato-format.

SQL = "UPDATE members SET lastlogin=NOW() WHERE id=" & RSfound("id")
Avatar billede cool_casper Nybegynder
20. november 2003 - 01:13 #5
Avatar billede plumo Nybegynder
20. november 2003 - 07:46 #6
Jeg er ikke så skrap til MySql. Kunne du evt. poste den kode jeg skal bruge?
Avatar billede plumo Nybegynder
20. november 2003 - 07:50 #7
Det her er sætningen som den skulle udskrive teksten i: det kunne være at det var der problemet ligger:

response.write("<td colspan='2'>" & formatdatetime(RS("lastlogin"),1) & " kl. " & formatdatetime(RS("lastlogin"),4) & "</td>")
Avatar billede cool_casper Nybegynder
20. november 2003 - 09:50 #8
Hmm.. FormatDateTime funktionen burde virke ok i dette tilfælde. Alternativt kan du formatere i SQL sætningen istedenfor. Hvis din sql sætning f.eks. ser således ud:

SQL = "SELECT name,email,lastlogin FROM mintabel ORDER BY name"

Så kan du bruge funktionen DATE_FORMAT() til at formatere dato'en med:
DATE_FORMAT(lastlogin, '%e. %M - %Y kl. %H:%i') AS lastlogin

.. så din sql kommer til at se sådan ud:

SQL = "SELECT name,email,DATE_FORMAT(lastlogin, '%e. %M - %Y kl. %H:%i') AS lastlogin FROM mintabel ORDER BY name"
Avatar billede plumo Nybegynder
23. november 2003 - 18:56 #9
så får jeg denne fejl, når jeg logger ind:

ADODB.Recordset.1 error '80004005'

SQLState: 42S22
Native Error Code: 1054
[TCX][MyODBC]Unknown column 'name' in 'field list'


../login.asp, line 34
Avatar billede plumo Nybegynder
24. november 2003 - 14:44 #10
Det virker nu. Jeg ved ikke hvad der skete men jeg bruger denne her nu:
SQL = "SELECT name,email,DATE_FORMAT(lastlogin, '%e. %M - %Y kl. %H:%i') AS lastlogin FROM mintabel ORDER BY name"

tak for hjælpen alle sammen. cool_casper får mine point!
Avatar billede cool_casper Nybegynder
25. november 2003 - 18:18 #11
takker.. :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester