/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med dato
Fra : Magnus


Dato : 16-04-01 11:07

Jeg har en debatforrum men når man skriver et indlæg indskrives en forkert
dato i databasen.

Det jeg tror der sker et at den bytter om på datoen og de to sidste cifre i
årstallet.

Fx. dagen idag 16-04-2001 bliver til 01-04-2016 og det selv om jeg bruger
værdien Now i min SQL indsætnings linie.

Hvor er det det går galt ?


/Magnus
arnason@emai.dk




 
 
Lauritz Jensen (16-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 16-04-01 14:21

Magnus wrote:
>
> Fx. dagen idag 16-04-2001 bliver til 01-04-2016 og det selv om
> jeg bruger værdien Now i min SQL indsætnings linie.
>
> Hvor er det det går galt ?

Du laver sikkert en sql, som ser ca. sådan ud:
sql = "INSERT INTO forum (f_dato, f_tekst) VALUES ('" & Now & _
"', '" & Replace(f_tekst, "'", "''") & "')"
Men dette resulterer jo måske i en sql indeholder teksten:
INSERT INTO forum (f_dato, f_tekst) VALUES ('16/4/01', 'bla')
Og når databasen prøver at læse det, går det galt.

Det du skal gøre er at huske på, at sql-strengen er en tekst og
konstuerer din sql'streng sådan:
sql = "INSERT INTO forum (f_dato, f_tekst) VALUES (Now, '" & _
Replace(f_tekst, "'", "''") & "')"
Eller hvis du vil have en bestemt dato:
sql = "INSERT INTO forum (f_dato, f_tekst) VALUES (" & _
DateToSql(f_date) & ", '" & _
Replace(f_tekst, "'", "''") & "')"

Function DateToSql(Value)
DateToSql = "DateSerial(" & Year(Value) & ", " & _
Month(Value) & ", " & _
Day(Value) & ") + " & _
"TimeSerial(" & Hour(Value) & ", " & _
Minute(Value) & ", " & _
Second(Value) & ")"
End Function
--
Lauritz

Martin Bentzen (16-04-2001)
Kommentar
Fra : Martin Bentzen


Dato : 16-04-01 17:06


"Lauritz Jensen" <lauritz2@hotmail.com> skrev i en meddelelse
news:3ADAF1BD.AE9CB4B@hotmail.com...

> Det du skal gøre er at huske på, at sql-strengen er en tekst og
> konstuerer din sql'streng sådan:
> sql = "INSERT INTO forum (f_dato, f_tekst) VALUES (Now, '" & _
> Replace(f_tekst, "'", "''") & "')"
> Eller hvis du vil have en bestemt dato:
> sql = "INSERT INTO forum (f_dato, f_tekst) VALUES (" & _
> DateToSql(f_date) & ", '" & _
> Replace(f_tekst, "'", "''") & "')"
>
> Function DateToSql(Value)
> DateToSql = "DateSerial(" & Year(Value) & ", " & _
> Month(Value) & ", " & _
> Day(Value) & ") + " & _
> "TimeSerial(" & Hour(Value) & ", " & _
> Minute(Value) & ", " & _
> Second(Value) & ")"
> End Function

Er der forskel på hvordan SQL bliver fortolket ?? Jeg har også haft det
beskrevne problem på en webserver med Access97, hvorimod der ikke var noget
galt med Access2000 ?

/Martin

--
Martin Bentzen
Datamatiker.stud.
www.bentzen.dk



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste