J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Jag har ett b-one konto, med skapad databas.
Eftersom b-one inte stödjer Lcid för svenska, utan enbart engelsk, har jag problem med datuminläggning i databasen.
Datumen jag får från now() blir ju i engelskt format, 4/27/2005 9:37:14 AM, hur får jag in det i ett DATETIME-fält med format 0000-00-00 00:00:00?
Jag har även ändrat databasformatet till engelsk variant, men det blev samma format ändå?
@ndersMedlem sedan juni 200032 969 inlägg Måste du använda ASP:s Now()?
Kan du inte använda Now() eller CURRENT_TIMESTAMP direkt i SQL-frågan istället?
Mvh
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Jag använder mig av precis det ni säger att jag ska göra, eftersom jag är helt ny på MySQL.
Var läser jag mer om detta, och hur skrivs det?
Lade det som defaultvärde i fältet i databasen, uppdaterade, men CURRENT_TIMESTAMP försvann?
I UPDATE blev det "'CURRENT_TIMESTAMP' is undefined" med ... " editdate='" & CURRENT_TIMESTAMP & "' WHERE" ...
@ndersMedlem sedan juni 200032 969 inlägg Nej, du kan inte ha det som defaultvärde i MySQL.
Du kan skriva det direkt i SQL-frågan:
INSERT INTO tbl (datumfältet) VALUES (Now())
Mvh
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Ajamen, så kan man ju inte göra, inga fnuttar eller &?
Men eftersom @nders brukar ha rätt, provade jag det som inte borde fungera:
... editdate=CURRENT_TIMESTAMP WHERE id=" & id
Och se!
Det fungerade!
Upplysningsvis informerar jag om att den funktion jag brukar köra för att fixa 31/4 till 1/5 inte behövs här, det räknas om automatiskt!
Därför kan jag stoppa in ett värde från ett hidden field med streckformaterat datum, svensk vis, direkt i databasen.
@ndersMedlem sedan juni 200032 969 inlägg
Ajamen, så kan man ju inte göra, inga fnuttar eller &?
När det gäller SQL-funktioner så anger du inga apostrofer eller annat skräp för att omsluta, utan det är enbart om du bestämmer värdena, som du ju gör när du skickar in dem som variabler från ASP.
Mvh
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Eftersom jag inte visste vad för något jag gjorde, och inte CURRENT_TIMESTAMP stod med på den DevGuru-sql-sida jag tittade på, http://www.devguru.com/Technologies/jetsql/quickref/jet_sql_list.html, var jag lite skeptiskt.
Detta hör alltså inte ihop med Jet SQL v3.0, vad hör det ihop med?
Eftersom jag inte har rätt lcid att tillgå, blir datumpresentationen en sak att hacka ihop själv?
@ndersMedlem sedan juni 200032 969 inlägg CURRENT_TIMESTAMP är visserligen standard, men har väl av en eller annan anledning inte implementerats i Access.
Now() fungerar fint annars.
Att presentera datumen på ett bättre sätt blir alltså en sak att hacka ihop själv, när jag inte har rätt Lcid att tillgå?
Ja, men du är inte först. Jag skulle tro att du kan hitta någon bra funktion för det här på webForum.
Mvh
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Ååååååå, vad dumt!
now() fungerar alldeles utmärkt, om man inte stoppar om den med en massa skräp!
Mycket tid ödslat på det. x(
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Hittade inget direkt som löste mitt problem, så gjorde en egen.
Mid(FormatDateTime(RS("editdate"),1),InStr(FormatDateTime(RS("editdate"),1),",")+2) & ", " & FormatDateTime(RS("editdate"),3)
Den ger "April 27, 2005, 2:45:43 PM" som resultat, vilket räcker för mig.
Det vore lättare med LCID... :OO
För de som inte är så insatta (som mig), hittade jag en lösning på ursprungsproblemet när jag letade, nämligen TIMESTAMP. Den fälttypen sätter in/uppdaterar now() i fältet när posten ändras. Utan redigering av posten sker inget.
http://dev.mysql.com/doc/mysql/en/date-and-time-type-overview.html
Har ändrat mitt DATETIME-fält till detta, eftersom det var en redigerad-tid jag var ute efter.
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Fast, riktigt bra blev det inte, kan lika bra ha det snyggt!
'kommer som 4/27/2005 3:34:47 PM
Function se_datum(a)
se_datum = Year(a) & "-"
if Month(a) < 10 then se_datum = se_datum & "0"
se_datum = se_datum & Month(a) & "-"
if Day(a) < 10 then se_datum = se_datum & "0"
se_datum = se_datum & Day(a)
'om ej redigerad vid midnatt...
If FormatDateTime(a,4)<>"00:00" then
if Hour(a) < 10 then se_datum = se_datum & "0"
se_datum = se_datum & " " & Hour(a) &":"
if Minute(a) < 10 then se_datum = se_datum & "0"
se_datum = se_datum & Minute(a) &":"
if Second(a) < 10 then se_datum = se_datum & "0"
se_datum = se_datum & Second(a)
End If
End Function
<R>Kom på att man behöver ha noll före minut och sekund också ibland!</R>