07. juli 2003 - 19:39Der er
18 kommentarer og 1 løsning
Hvorfor virker dette script ikke?
Hej... Følgende script fungere ikke: SQL = "Select * From tilmeldinger WHERE Navn='" & Request.Form("navn") & "' AND Tlf='" & Request.Form("tlf") & "' AND Turdato=#" & Request.Form("dato") & "#" Set rs = Conn.Execute (SQL)
if (rs.bof or rs.eof) then Response.Write "De intastede data stemmer ikke overens. Husk at de skal være de samme som da du tilmeldte dig.<br><a href=""framelding.asp"">Prøv igen</a>" else strSQL1 = "Delete from tilmeldinger WHERE Navn='" & Request.Form("navn") & "' AND Tlf='" & Request.Form("tlf") & "' AND Turdato=#" & Request.Form("dato") & "#" Response.write "Du er nu frameldt<br><br><a href=""tilmeld-mainframe.asp"">Tilbage</a>" Conn.Execute(strSQL1) end if
Selv om jeg er 110% sikker på at dataene indtastet i formen er de samme som dem der står i databasen, så får jeg fejlmeddelelsen, om at de ikke stemmer overens...
Henter jeg SQL sætningen lyder den: Select * From tilmeldinger WHERE Navn='Test' AND Tlf='11111111' AND Turdato=#07-08-2003# Et udtræk fra databasen viser disse data i de pågældende felter: Test 11111111 07-08-2003
Sætter jeg en response.write strsql response.end ind før den anden Conn.Execute kommando, får jeg alligevel min egen fejlmeddelelse... Den når altså slet ikke længere end til if (rs.bof or rs.eof) then Response.Write "De intastede data stemmer ikke overens. Husk at de skal være de samme som da du tilmeldte dig.<br><a href=""framelding.asp"">Prøv igen</a>"
Ja for du kommer jo ind i din Then del af if sætningen så nytter det ikke at stoppe koden ved din anden Conn.Execute. Prøv at stoppe lige inden din føste Conn.Execute og udskriv SQLen. Eller så prøv som erik og jeg forslog henholdsvis 07/07-2003 19:58:47 og 07/07-2003 19:59:37
OK - det hjalp at bytte om på datoerne. Både yyyy-mm-dd og mm-dd-yyyy virkede. Men nu er det sådan at form-feltet "dato" ikke er en radio-button, der henter sin value fra et databasefelt formateret som Dato/Klokkeslæt: <label> <input type="radio" name="dato" value="<%Response.write rs("turdato")%>"> <%Response.write rs("turdato")%> </label> (det er sat ind i en løkke, så der kommer det antal radio-buttons, der er foskellige "turdatoer")
Hvis jeg ændrer feltet turdato fra at være Dato/Klokkelset til Tekst, vil det så kunne løse problemet, og vil man stadig kunne bruge FormatDateTime, vb LongDate funktionen på det?
Ja men så kan du ikke længere sortere på feltete korret da en tekst kolonne og dato kolonne ikke bliver sorteret ens. Samt evt dato funktioner i SQl ikke virker på teskt kolonnen.
Bruger jeg den med datoStr, kan jeg slet ikke åbne siden... men får en Siden kan ikke vises meddelelse
Nu ser scriptet sådan ud: Conn.Open DSN
datoStr = Request.Form("dato") datoStr = Year(datoStr) & "-" Month(datoStr) & "-" & Day(datoStr) strSQL = "Select * From tilmeldinger WHERE Navn='" & Request.Form("navn") & "' AND Tlf='" & Request.Form("tlf") & "' AND Turdato=#" & datoStr & "#" Set rs = Conn.Execute (strSQL)
if (rs.bof or rs.eof) then Response.Write "De intastede data stemmer ikke overens. Husk at de skal være de samme som da du tilmeldte dig.<br><a href=""framelding.asp"">Prøv igen</a>" else strSQL = "Delete from tilmeldinger WHERE Navn='" & Request.Form("navn") & "' AND Tlf='" & Request.Form("tlf") & "' AND Turdato=#" & datoStr & "#" Response.write "Du er nu frameldt<br><br><a href=""tilmeld-mainframe.asp"">Tilbage</a>" Conn.Execute(strSQL) end if
Hvis du får sådan en felj som 404/505 eller noget med siden kan ikke vises. Så prøv at slå denne fra i IE, så skulle du gerne få en bedre fejl kode/beskrivelse:
funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Synes godt om
Ny brugerNybegynder
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.