23. oktober 2004 - 10:37
Der er
7 kommentarer og 1 løsning
Skrive dato til database
Hej Jeg har et sikkert simpelt spørgsmål, jeg har et script som skal skrive nogle oplysninger til en database de fleste kommer fra en form men datoen gør ik, det er bare datoen på når man indtaster det. Koden ser sådan her ud: <body> <% type2 = Request("type2") info = Request("info") Set my_conn = Server.CreateObject("ADODB.Connection") my_conn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=...; UID=...; PWD=...;" strSQL = "SELECT * FROM handel" set rs = Server.CreateObject("ADODB.Recordset") rs.Open strSQL, my_conn, 1, 3 %> <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then if type2 = "" then Response.Write("Du skal vælge en type!<br>") end if if info = "" then Response.Write("Du skal skrive en tekst!<br>") end if if type2 <> "" AND info <> "" then rs.AddNew rs("dato") = Response.Write FormatDateTime(Now, vbShortDate) rs("type2") = Request.form("type2") rs("info") = Request.form("info") rs.update Response.Redirect("handelsplads.asp") end if end if %> <% rs.close Conn.Close set Conn = nothing %> </body> Det er denne del af koden den melder fejl i: rs("dato") = Response.Write FormatDateTime(Now, vbShortDate) Håber i kan hjælpe.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. oktober 2004 - 10:38
#1
Og forresten i databasen er deltet dato af typen date. dvs. YYYY-MM-DD
23. oktober 2004 - 10:44
#2
Du skal vel ikke have en response.write men bare formatdatetime(now, vbshortdate)
23. oktober 2004 - 10:56
#3
Okay det virker men nu har jeg et problem til. Det er når jeg skal vise værdierne fra databasen... Så melder den fejl i dette kode. <% Set my_conn = Server.CreateObject("ADODB.Connection") my_conn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=...; UID=...; PWD=...;" strSQL = "SELECT * FROM handel order by dato" ' Execute SQL statement Set rs = my_conn.Execute(strSQL) if rs.eof then response.write "<p>Der er ikke noget i databasen</p>" end if Do while not rs.eof %> <table border="1" class="kalender" cellspacing="1" cellpadding="0" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr> <td width="80px" align="center"> <%datoa=split(rs("dato"),"/") Dato = datoa(1)&"-"&datoa(0)&"-"&datoa(2)%> <%Response.Write " " & Dato & "<br>"%> </td> <td> <% Response.Write " "& rs("info") & "<br>" %> </td> </tr> <% rs.MoveNext loop %> </table> <% my_conn.close ' Close database connection Set my_conn = nothing 'obj variable released %> Den melder denne fejl: Microsoft VBScript runtime error '800a000d' Type mismatch /test/handelsplads.asp, line 37 I linie 37 står der <td> ??? Det synes jeg virker underligt.
23. oktober 2004 - 11:13
#4
Det er vel et nyt spørgsmål =)
23. oktober 2004 - 11:15
#5
Prøv at se hvad sourcen viser når siden vises i IE
23. oktober 2004 - 12:05
#6
ja det kan ikke være en td, så prøv evt at lave nogle respons.write for at finde ud af hvilken linie det er der fejler
23. oktober 2004 - 12:13
#7
du kan formatere din dato direkte i udtrækket: SELECT *, DATE_FORMAT(dato, "%d-%m-%Y") AS nydato FROM handel ORDER BY dato
17. december 2004 - 10:55
#8
Lukket
Kurser inden for grundlæggende programmering