Avatar billede eksperten1 Nybegynder
14. januar 2002 - 20:49 Der er 29 kommentarer og
1 løsning

INSERT med date

Jeg er lige begyndt at rode med SQL Server 2000, har kun brugt Access 2000 før. Nu skal jeg inserte en dato, men den fejler big time. SMider underlige datoer ind istedet for.

INSERT INTO db_news (heading, newstxt, valid_from, valid_until) VALUES (\'heading\', \'newstxt\', #14-01-2002#, #14-04-2002#);

Kan du hjælpe, gerne snab.

Thx
Avatar billede cool_casper Nybegynder
14. januar 2002 - 20:53 #1
Hvorfor # ?!?
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 20:54 #2
Hvorfor hvad ?
Avatar billede cool_casper Nybegynder
14. januar 2002 - 20:55 #3
Hvorfor srikver du # om dato\'erne!!?!?
Avatar billede cool_casper Nybegynder
14. januar 2002 - 20:56 #4
srikver = skriver
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 20:57 #5
Tja, fordi det tror/ede jeg at man skal, det fungerer fint i Access ? Skal jeg srkive noget andet da ?
Avatar billede cool_casper Nybegynder
14. januar 2002 - 21:01 #6
Hvis du har tekstrenge du skal have konverteret til dato-format så brug CDate funktionen (Jeg kender ikke til \"##\" !!):

dato_et = CDate(\"14-01-2002\")
dato_to = CDate(\"14-04-2002\")

INSERT INTO db_news (heading, newstxt, valid_from, valid_until) VALUES (\'heading\', \'newstxt\', \" & dato_et & \", \" & dato_to & \");
Avatar billede nih Novice
14. januar 2002 - 21:02 #7
prøv at skrive datoerne mm-dd-yy eller yyyy-mm-dd

Niels
Avatar billede medions Nybegynder
14. januar 2002 - 21:03 #8
nej.. man skal skrive # rundt om dato\'er!

//Rune
Avatar billede cool_casper Nybegynder
14. januar 2002 - 21:03 #9
Sikker, Rune?!?
Avatar billede nih Novice
14. januar 2002 - 21:06 #10
Man er nødt til at skrive i en af formaterne:

#mm-dd-yy# eller
#yyyy-mm-dd#

Niels

Avatar billede cool_casper Nybegynder
14. januar 2002 - 21:10 #11
nih >> Tror du ikke man kan bruge min metode?!? Jeg har da aldrig brugt ## !!
Avatar billede medions Nybegynder
14. januar 2002 - 21:11 #12
100% Casper!

That\'s right Niels!
Ellers kommer den tit med fejl fx. i Access!
Avatar billede nih Novice
14. januar 2002 - 21:15 #13
cool casper>>  jo, selvfølgelig, derfor har jeg ikke skrevet som et svar - du var først :o)

men når man bruger ## i SQL (server / Access) skal man bruge de formater jeg har anført(uanset PC\'ens internationale indstillinger)

Niels
Avatar billede cool_casper Nybegynder
14. januar 2002 - 21:19 #14
Jamen hvad er så eksperten1\'s fejl?!? At han skal bytte om på rækkefølgen?!?
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 21:20 #15
Nu har jeg forsøgt at bruge diverse formater, med # uden # som mm/dd/yy yyyy-mm-dd dd-mm-yy
Alle sammen uden held, jeg får data ind i serveren, men den smider det ind som de underligste datoer !?!?
Avatar billede cool_casper Nybegynder
14. januar 2002 - 21:23 #16
Også den med CDate() ?!
Avatar billede nih Novice
14. januar 2002 - 21:23 #17
Ja - Som jeg forstår det virker hans INSERT - den indsætter bare forkerte dato\'er pga rækkefølgen.

måned 14 læsses af SQL som februar næste år.

Niels
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 21:33 #18
Tro mig, det er ikke nok med nogle måneder, eller år for den sags skyld...

    {EB863CDB-F15D-4B8D-A23D-73AD9D484E5B}    heading    newstxt    14-01-2002 20:18:30    22-07-1894    19-07-1894
    {CBDB86E7-1566-4DE7-ABAF-91F99DA518CD}    bandit    newstxt    14-01-2002 20:39:16    22-07-1894    19-07-1894
    {F85F0F00-EE3A-494A-8FC5-D51A41848971}    heading    newstxt    14-01-2002 20:40:03    05-06-1905    04-06-1905
    {7A2A1B37-799C-46D9-8E88-C81FF62FD7AA}    makrel    newstxt    14-01-2002 20:40:48    05-06-1905    04-06-1905
    {E5BD5CAA-BD65-43F0-A7AE-6184A4F3E54E}    header1    lkjdlksjd    14-01-2002 21:04:20    11-06-1905    08-06-1905
    {9DEBB820-8799-4F75-BE07-C7FC9742A058}    dsADA    dsada    14-01-2002 21:13:33    01-01-1900    01-01-1900

So I kan se smider den alle mulige spasser resultater ind i tabellen !?!?!
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 21:34 #19
Og jep, jeg brugte også CDate, men det bliver jo konverteret tilbage til tekst i min sql string.
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 21:35 #20
Min server kører btw IE W2000 Server samt IE SQL Server 2000
Avatar billede cool_casper Nybegynder
14. januar 2002 - 21:37 #21
Prøv at slette din db og oprette en ny med de samme konlonner... Der er sikkert noge opsætning i databasen der fucked up!!
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 21:56 #22
Det er sgu det samme :-((
Begge felter er smalldatetime, ændrer det noget ?!?
Avatar billede nih Novice
14. januar 2002 - 21:57 #23
Sorry mine havelåger # virker kun fra vb ikke direkte i sqlServer :(

Niels 

Avatar billede cool_casper Nybegynder
14. januar 2002 - 22:00 #24
eksperten1 >> Nogle gange er det bare sådan... Ved ikke hvorfor, men det har virket for mig få gange....!!!
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 22:01 #25
Det er en formular fra asp (vb) som smider disse data ind. Jeg har ikke prøvet direkte i Enterprise Manager
Avatar billede medions Nybegynder
14. januar 2002 - 22:01 #26
well, prøv at lave feltet om til et almindelig tekstfelt, og så smække det ind der.. -det behøves jo ikke direkte at være et datofelt!

//Rune
Avatar billede cool_casper Nybegynder
14. januar 2002 - 22:01 #27
eksperten1 >> Nogle gange er det bare sådan... Ved ikke hvorfor, men det har virket for mig få gange....!!!
Avatar billede eksperten1 Nybegynder
14. januar 2002 - 22:04 #28
Phew, nå men jeg kiggede lidt omkring...

http://www.aspfaq.com/show.asp?id=2023

Det korrekte format er \'mm/dd/yyyy\' i en sql server, nu pløjer de direkte ind.

Tak for indsatsen.
Avatar billede medions Nybegynder
14. januar 2002 - 22:10 #29
well, hvad med os andre... -det var jo kun Casper der fik pointz!

//Rune
Avatar billede cool_casper Nybegynder
14. januar 2002 - 22:12 #30
:-)
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
Computerworld tilbyder specialiserede kurser i database-management

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