webForumDet fria alternativet

Fel på spara kod

ASP

7 svar · 314 visningar · startad av Meng

Medlem sedan feb. 2003549 inlägg
Frågan#1

Vad är felet i denna "spara" koden? Först fick jag Critera expression något.. fel och sen la jag in samlings koden för modtagelsedato också klagar den på "CDate" (Type mismatch: 'CDate' ). Nån som ser felet jag inte ser?

If Request.Querystring("action")= "spara" Then

Produkt = Fixa(Request.Form("produkt1") & "-" & Request.Form("produkt2"))
Lokation = Fixa(Request.Form("lokation1") & "-" & Request.Form("lokation2"))
Modtagelsesdato = CDate(Request.Form("ar") & "-" & Request.Form("man") & "-" &Request.Form("dag"))

   Kategori        = Fixa(Request.Form("kategori"))
   Produkt         = produkt
   Lokation        = lokation
   Serienummer     = Fixa(Request.Form("serienummer"))
   Modtagelsesdato = modtagelsesdato
   Specifikation   = Fixa(Request.Form("specifikation"))
   Af              = Fixa(Request.Form("af"))
   Tilstand        = Fixa(Request.Form("tilstand"))

   Conn.Execute("INSERT INTO edblager(Kategori,Produkt,Lokation,Serienummer,Modtagelsesdato,Specifikation,Af,Tilstand) VALUES('" & Kategori & "','" & Produkt & "','" & Lokation & "','" & Serienummer & "','" & Modtagelsesdato & "','" & Specifikation & "','" & Af & "','" & Tilstand & "')")
   Response.Redirect "edbinlagt.asp?do=ny"
End If
Medlem sedan nov. 20017 144 inlägg
#2

Du kan ju kolla om det är ett datumformat först.

If Request.Querystring("action")= "spara" Then

Produkt = Fixa(Request.Form("produkt1") & "-" & Request.Form("produkt2"))
Lokation = Fixa(Request.Form("lokation1") & "-" & Request.Form("lokation2"))
indate=Request.Form("ar") & "-" & Request.Form("man") & "-" &Request.Form("dag")
if isdate(indate)=false then
Response.write "Du har inte angätt rätt datum, gör det!"
Response.end
end if
Modtagelsesdato = CDate(indate) 
...
Medlem sedan nov. 20017 144 inlägg
#3

Det är alltid bra att ha något for av validering på alla formulärfält innan man skickar till db.

Medlem sedan feb. 2003549 inlägg
#4

Självklart funkade det ju =/ fattar inte alls varför dock, jag menar man kan inte skriva fel datum eftersom det är select boxar med 1999 - 2060 på ar och 1 - 12 på manad och 1-31 på dag. Men det funkar nu direkt! Tackar :birp förklara varför den klagade på CDate innan?

Medlem sedan feb. 2003549 inlägg
#5

Tänkte på när jag väljer tomt i ar, manad och dag så kommer din kod upp och säger att det är fel datum, jag måste kunna välja låta bli att använda modtagelsedato så om du kan göra om på koden?

Medlem sedan feb. 2003549 inlägg
#6

En bild kanske visar bättre hur jag menar. (Beta)

test.gif
Medlem sedan feb. 2003549 inlägg
#7

Nehe inget svar men Erik har gett mig lösningen innan hittade jag i en asp fil:

Function MakeNull(ByVal str)
	if not isdate(str) then str="null" else str="'"& str &"'"
	MakeNull=str
End function

Tack E :birp

Medlem sedan feb. 2003549 inlägg
#8

.

:q

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)