Jens Gyldenkærne Clausen wrote:
> Peter [5260] skrev:
>
>
>> timestmp = now()
>
>
> Vi tager den lige igen (beklager, men dette spørgsmål har været her
> *mange* gange).
>
> Skal man indsætte dags dato (med eller uden tid) i en database, så gøres
> det bedst ved at lade databasen generere datoværdien. Altid. Hver gang.
>
[snip]
>
> Hvis man vil angive værdien ved indsættelse, så brug databasens funktion
> (i Access er det Now(), præcis som i asp). Se forskellen på følgende to
> sætninger:
>
> Forkert!
> strSQL = "INSERT INTO tabel (datofelt) VALUES ('" & Now() & "')"
>
> Rigtigt:
> strSQL = "INSERT INTO tabel (datofelt) VALUES (Now())"
>
Korrekt, jeg har set *afarter* af dette spørgsmål, men ikke helt
specifikt til den af mig beskrevne problematik....ellers beklager jeg meget!
Du har ret i, at ved at benytte db'ens datofunktion, så bliver data
entydige og konsistente - et must i enhvert databasedesign!
Problemet er blot, at jeg skal bruge denne dato til at læse den netop
skrevne record igen lige efter INSERT, og derfor skal jeg bruge feltet
TimeStmp udfyldt med now().
Teoretisk (og sikkert også i praksis) kan der jo godt gå et par sekunder
fra SQL-sætningen opbygges, til jeg laver den sidste SELECT.
Mon ikke den vil få en EOF/NotFound i 9 ud af 10 tilfælde, hvis jeg
benytter din metode til INSERT, og derefter laver en SELECT efter din
opskrift:
SELECT * FROM tbBestilling WHERE TimeStmp = " & now()
??
Det er naturligvis ikke efterprøvet, men jeg tror det!
Sååeeehh, du har forklaret en væsentlig - og meget efterspurgt -
problemstilling i ASP, men du har vist ikke svaret på mit spørgsmål
Mvh
Peter