/ 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
INSERT INTO og datoer
Fra : Sten Bang-Christense~


Dato : 28-06-02 11:09

Hej,
jeg har problemer med indsæt af records i en Access-db, med en SQL som siger
f.eks.

"INSERT INTO tabel (datofelt) values (MyDate)" (sådan cirka) ender datoen
op som
"29-07-1894"

og det er jo lidt længe siden....

Nogen (sikkert elementær) forklaring ???
mvh
Sten



 
 
Tumlehund (28-06-2002)
Kommentar
Fra : Tumlehund


Dato : 28-06-02 11:24

"Sten Bang-Christensen" <revomovethis@12move.dk> wrote in message
news:4BWS8.31$UM4.835@news.get2net.dk...
> Hej,
> jeg har problemer med indsæt af records i en Access-db, med en SQL som
siger
> f.eks.
>
> "INSERT INTO tabel (datofelt) values (MyDate)" (sådan cirka) ender datoen
> op som
> "29-07-1894"
>
> og det er jo lidt længe siden....
>
> Nogen (sikkert elementær) forklaring ???
> mvh
> Sten
>
Hvad indeholder "datofelt"?



Sten Bang-Christense~ (28-06-2002)
Kommentar
Fra : Sten Bang-Christense~


Dato : 28-06-02 11:41

Datofeltet indeholder dagsdato, koden er :

strSQL = "Insert into News (News_dt,HeadLine_tx, News_tx, Team_id) values("
& Cdate(MyDate) & ",'Overskrift','Nyhedstekst','Holdnummer')"
response.write strSQL
Conn.Execute(strSQL)

Output fra resp.write er :

Insert into News (News_dt,HeadLine_tx, News_tx, Team_id)
values(28-06-2002,'over','tekst','hold')


"Tumlehund" <patriot@sol.dk> skrev i en meddelelse
news:3d1c3947$0$17381$4d4eb98e@read.news.dk.uu.net...
> "Sten Bang-Christensen" <revomovethis@12move.dk> wrote in message
> news:4BWS8.31$UM4.835@news.get2net.dk...
> > Hej,
> > jeg har problemer med indsæt af records i en Access-db, med en SQL som
> siger
> > f.eks.
> >
> > "INSERT INTO tabel (datofelt) values (MyDate)" (sådan cirka) ender
datoen
> > op som
> > "29-07-1894"
> >
> > og det er jo lidt længe siden....
> >
> > Nogen (sikkert elementær) forklaring ???
> > mvh
> > Sten
> >
> Hvad indeholder "datofelt"?
>
>



Jens Gyldenkærne Cla~ (28-06-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-06-02 11:49

Sten Bang-Christensen skrev:

> Output fra resp.write er :
>
> Insert into News (News_dt,HeadLine_tx, News_tx, Team_id)
> values(28-06-2002,'over','tekst','hold')

Datoværdien skal afgrænses - i Access af #'er, andre steder bare af
plinger. Udtrykket 28-06-2002 læses som "28 minus 6 minus 2002" -
og ikke som en dato.

Prøv at sætte havelåger (#) omkring datoen og se om det er nok. Men
en lille forhåndsadvarsel - datoer kan være et helvede i databaser,
fordi der er (alt for) mange forskellige måder at notere dem på.
Først og fremmest kan man ofte komme galt af sted ved at bytte
rundt på formaterne mm-dd-yyyy og dd-mm-yyyy. Den første er
amerikansk standard - og dermed direkte indbygget i mange
programmer, mens den anden er europæisk - og læses af programmer
der er sat op til at tolke datoer sådan.

PS: Gider du kigge på min signatur?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Sten Bang-Christense~ (28-06-2002)
Kommentar
Fra : Sten Bang-Christense~


Dato : 28-06-02 11:55


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns923B825263793jcdmfdk@193.88.15.213...
> Datoværdien skal afgrænses - i Access af #'er, andre steder bare af
> plinger. Udtrykket 28-06-2002 læses som "28 minus 6 minus 2002" -
> og ikke som en dato.
>
Tak, det virkede fint (så langt....), og point taken med citat, det gik lige
lidt hurtigt.....

mvh



Ukendt (28-06-2002)
Kommentar
Fra : Ukendt


Dato : 28-06-02 15:15

"Sten Bang-Christensen" <revomovethis@12move.dk> skrev i en meddelelse
news:6gXS8.35$UM4.923@news.get2net.dk...
>
> > plinger. Udtrykket 28-06-2002 læses som "28 minus 6 minus 2002" -
> >
> Tak, det virkede fint (så langt....), og point taken med citat, det gik
lige
> lidt hurtigt.....
>
Et lille tip med datoer. Du kan lave det om til et tal med en funktion.
Således så ovenstående dato bliver til 20020628. På den måde får du ikke de
problemer der kan være med datoer.... Tænk også på hvis du senere skal
konvertere fra Access til en rigtig database server.


--
Niels Henriksen
Softwareudvikler



Jørn Andersen (28-06-2002)
Kommentar
Fra : Jørn Andersen


Dato : 28-06-02 18:53

On Fri, 28 Jun 2002 12:48:40 +0200, "Jens Gyldenkærne Clausen"
<jens@gyros.invalid> wrote:

>en lille forhåndsadvarsel - datoer kan være et helvede i databaser,
>fordi der er (alt for) mange forskellige måder at notere dem på.
>Først og fremmest kan man ofte komme galt af sted ved at bytte
>rundt på formaterne mm-dd-yyyy og dd-mm-yyyy. Den første er
>amerikansk standard - og dermed direkte indbygget i mange
>programmer, mens den anden er europæisk - og læses af programmer
>der er sat op til at tolke datoer sådan.

Du har ret i, at datoer kan være et helvede i forhold til databaser.
Jeg mener dog at 2 ret enkle forholdsregler løser langt hovedparten af
de problemer jeg er stødt på (har dog stort set kun arbejdet med
Access):

1) Sæt LocaleID i toppen af alle sider, der indeholder datoer - fx:

Session.LCID = 1030

hvis det er dansk format man ønsker.
(Erfarede jeg på den hårde måde, da et site skitede fra en server med
danske defaults til US-defaults.)

2) Brug nedenstående funktion, som Lauritz Jensen engang postede i
denne gruppe, når der skal bruges datoer i SQL. Den omformer fra
VBScript datoformat til SQL:
<URL:
http://groups.google.com/groups?hl=da&selm=1879jt0nj8ng3066tpe91bs1frm82c7u2p%404ax.com>

Essensen i funktionen er, at den sikrer, at dato er dato, måned er
måned, år er år osv. - noget som ofte går galt.


Good luck,
Jørn


--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408561
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste