Avatar billede s0mmer Nybegynder
21. januar 2009 - 10:52 Der er 13 kommentarer

Command objekt og date

Hej eksperter,

Jeg bruger command objekter til at indsætte i min database, dog har jeg et problem med flg linje:

cmd.Parameters.Append cmd.CreateParameter("@Date1", adVarChar, adParamInput, 255, date)

Den er skyld i jeg får flg fejl:

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.


- date er blevet brugt til at indsætte i databasen så det må være adVarChar der er problemet. men hvad skal det ændres til?
Avatar billede fennec Nybegynder
21. januar 2009 - 10:57 #1
det må være adDate.

Du kan se en fuld liste her:
http://www.w3schools.com/ADO/ado_datatypes.asp
Avatar billede softspot Forsker
21. januar 2009 - 11:00 #2
Givetvis fordi der er en uoverensstemmelse mellem datoformatet som VBScript nødvendigvis må omsætte kaldet til Date-funktionen til og det datoformat som databasen forventer.

Du bør benytte adDate i parameteren og dato-kolonner i databasen i stedet for strenge. Alternativt skal du angive dine datoer i formatet yyyy-mm-dd i stedet (selvom det heller ikke altid spiller max, jeg har oplevet problemer på SQL Server - dog ikke uløst :-)).
Avatar billede s0mmer Nybegynder
21. januar 2009 - 11:03 #3
fennec > Lige præcis den liste så jeg lige på og har prøvet adDate, giver samme fejl.

softspot > Kan man få det til at virke i koden uden at rode med databasen?
Avatar billede fennec Nybegynder
21. januar 2009 - 11:13 #4
Det er ikke sådan at du skal bruge adDBDate i stedet??
Avatar billede s0mmer Nybegynder
21. januar 2009 - 11:15 #5
fennec > også prøvet, samme fejl :(

ka det være formatet mellem date og adDate/adDBDate?
Avatar billede softspot Forsker
21. januar 2009 - 12:33 #6
Jeg tror adDBDate opfattes som et timestamp hvor adDate er en datetime. Hvis det er en Access-database, ved jeg ikke hvad forskellen er... (findes der et timestamp i Access??)

Har du prøvet at formatere datoen som forslået (yyyy-mm-dd)?
Avatar billede s0mmer Nybegynder
21. januar 2009 - 13:20 #7
softspot > det er en SQL database. Nej, hvordan formaterer jeg datoen i asp?
Avatar billede softspot Forsker
21. januar 2009 - 13:40 #8
Eksempelvis:

year(date)&"-"&month(date)&"-"&day(date)
Avatar billede s0mmer Nybegynder
21. januar 2009 - 13:57 #9
softpost > Måske er det slet ikke der fejlen ligger.. jeg fandt ud af den også ligger nogle "now" inde i db. Hvad skal man skrive for now ? adDate ?
Avatar billede softspot Forsker
21. januar 2009 - 14:06 #10
Hvis du taler om en MS SQL Server, så hentes den aktuelle dato med getdate().
Avatar billede s0mmer Nybegynder
21. januar 2009 - 14:20 #11
Jeg fik det endelig til at virke. Med adDate kom til at fungere og så lå der en fejl et andet sted. Så jeg tror det er fennec der render med points. Send svar og du skal modtage :) softspot > jeg opretter et spg om 2 min som jeg tror du kan svare på.
Avatar billede fennec Nybegynder
21. januar 2009 - 14:25 #12
.o) <-- One Eyed Jack
Avatar billede softspot Forsker
21. januar 2009 - 14:33 #13
Hvad var den anden fejl du opdagede?
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
Kurser inden for grundlæggende programmering

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