Avatar billede Slettet bruger
15. august 2005 - 19:15 Der er 16 kommentarer og
1 løsning

Jeg har et problem med at sende dato til min database

I filen add_data.asp
---------------
Jeg har et inputfelt der hedder dato.



I filen create_data.asp
---------------
så har jeg dette til at hente den:
strDato = CDate(request.form("dato"))

og så sender jeg den til data med denne.
INSERT INTO DATA(dato) Values ('" & strDato & "')

Når jeg skriver 2005-01-01 eller 01-01-2005 fortæller min DEBUG følgende:
DEBUG #1: INSERT INTO DATA(dato) Values ('01-01-2005')

Hvilket endligt er godt nok men når jeg så går ind i min database har den ikke sendt dato'en
Der står bare 0000-00-00.

Hvad gør jeg galt??
Avatar billede erikjacobsen Ekspert
15. august 2005 - 19:25 #1
Du skal altid bruge formatet "2005-08-15" - og CDate er dum at bruge, da den forsøger at hjælpe dig til at tro at et andet format er bedre. Står det ikke rigtigt allerede?
Avatar billede Slettet bruger
15. august 2005 - 19:31 #2
Altså bare strDato = Date(request.form("dato"))???
Avatar billede erikjacobsen Ekspert
15. august 2005 - 19:33 #3
Det kommer jo ganske an på om der kommer det rigtige formst ud af det. Prøv. og check med forskellige datoer.
Avatar billede Slettet bruger
15. august 2005 - 19:42 #4
Hmm nu sender den slet ikke men bare ryger ud på "siden kan ikke vises".
Avatar billede erikjacobsen Ekspert
15. august 2005 - 19:52 #5
Mon ikke der så er en fejl på siden?
Avatar billede Slettet bruger
15. august 2005 - 19:55 #6
Hmm der er ikke hvis jeg skriver med CDate, eller hvis jeg fjerne Daten.
Jeg havde også på et tidspunkt en function.
Den sendte også bare altid 1899.12.30 Uanset hvad jeg skrev.

Så den kan sende.
Men den kan bare ikke sende det rigtige.

Hvad kan fejlen være når det eneste jeg rettede var CDate til Date??
Avatar billede erikjacobsen Ekspert
15. august 2005 - 20:49 #7
Ja, det er jo et ASP-spørgsmål - det kan jeg ikke huske her og nu. Men en fejl er der jo nok. Find ud af hvad det er, så kan det løses.
Avatar billede Slettet bruger
15. august 2005 - 20:50 #8
Hmm jeg er blevet henvist fra ASP til her. Det er sku frem og tilbage. ;P det er 3 gang jeg opretter spørgsmålet alt ialt.
Avatar billede erikjacobsen Ekspert
15. august 2005 - 21:34 #9
Jo, men hvad siger den af fejl?
Avatar billede Slettet bruger
15. august 2005 - 22:02 #10
Der er ingen fejl besked.

Og den plejer at virke fint det eneste der er lavet om er CDate til Date og nu vil siden ikke vises.
Avatar billede erikjacobsen Ekspert
15. august 2005 - 22:06 #11
"ingen fejl besked", "nu vil siden ikke vises" - er det ikke en fejlbesked? Men er det den eneste du får?

Nu er du vil ikke så skør, at du bruger IE i standardindstilling? Så får du nemlig ikke at vide hvad der er galt, og spilder bare din tid. Hvis du ikke allerede har gjort det, så skift til firefox og fortæl hvad dén siger.
Avatar billede Slettet bruger
16. august 2005 - 20:45 #12
Hmm jo jeg er så skør at jeg bruge IE.
Min harddisk brændte af her i weekenden og har ikke fået den nye helt op og køre.

Jeg har brugt FF ganske få gange men kan ikke finde mig til rette i det syntes det er trælst at bruge.
Men installere det nu og så må vi se.

Ellers skriver den bare
"siden kan ikke vises.......bla bla bla....HTTP 500 - Intern serverfejl
Internet Explorer "
Avatar billede Slettet bruger
16. august 2005 - 20:54 #13
Ifølge FF er fejlen i denne linje:

strDato = Date(request.form("dato"))
Det er linje 12

Fejl
-------------------
Microsoft VBScript runtime  error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Date'

/wc/liga_wc_match_create.asp, line 12
Avatar billede erikjacobsen Ekspert
16. august 2005 - 21:41 #14
Og så er vi så tilbage ved: hvad er det du vil gøre? Hvad er formatet fra formen? Hvorfor lige Date??
Avatar billede Slettet bruger
17. august 2005 - 16:24 #15
Ok da du spurgte mig hvorfor Date kiggede jeg mig lige rundt.
Jeg kunne se at det var mig som havde lavet en fejl og misforstået noget.

Men nu skal du høre hvad mit problem var.
Jeg startede med at lave en function som hev data ud fra inputfeltet og lavede dem til rigtige dato'er som skulle kunne sende til MySQL databasen.

Havde fundet functionen på en lille hjemmeside.

Det eneste problem var bare at den ikke ville sende dato'en rigtigt.
Uanset hvad jeg skrev sendte den data 0000-00-00 til databasen (hvilket jo svare til at den ikke sendte noget)

prøvede uden functionen men den gad stadig ikke.

Så gik jeg tilbage til functionen og spurgte i Javascript da jeg troede det var sådan en function. Det var det ikke og jeg blev sendt til ASP.

Der kunne vi ikke finde fejlen så vi droppede det og jeg fik afvide at jeg skulle bruge CDate. Da det ikke virkede blev jeg sendt herover.

Så misforstod jeg nogle ting og troede man bare skulle bruge Date istedet for CDate.
(jeg var jo helt rundt på gulvet) :P
Men det skulle man åbenbart ikke så jeg skiftede fra Date til Trim da jeg så din sidste kommentar.

Og nu virker det.
Et eller andet sted i forløbet måtte der være blevet rettet en fejl for det med Trim virkede ikke da jeg startede.

Jeg er ked af at have brugt din tid så du fortjener dine point.
Sååå undskyld, tak og post et svar ;)
Avatar billede erikjacobsen Ekspert
17. august 2005 - 19:48 #16
Nej nej, jeg samler slet ikke på point, tak.
Avatar billede Slettet bruger
18. august 2005 - 16:53 #17
Ok men igen tak.

Lukker
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