Avatar billede kkd Nybegynder
07. juli 2003 - 19:39 Der 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&oslash;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...
Avatar billede tuctoh Nybegynder
07. juli 2003 - 19:40 #1
du skriver ikke hvar for en database du bruger...
men prøv at bruge en gnyf: ' i stedet for # omkring datoerne.
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 19:41 #2
Står der det rigtigt i Request.Form("navn")?

Prøv en
  response.write SQL
Avatar billede eagleeye Praktikant
07. juli 2003 - 19:54 #3
Hvilken fejl kode får du, en SQL fejl kode eller din egen?
Avatar billede kkd Nybegynder
07. juli 2003 - 19:55 #4
Det er Access - og feltet dato er formateret som Dato/Klokkeslet, så der skal # omkring!
Avatar billede kkd Nybegynder
07. juli 2003 - 19:56 #5
Min egen fejlkode....
Avatar billede kkd Nybegynder
07. juli 2003 - 19:57 #6
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
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 19:58 #7
Prøv lige Turdato=#08-07-2003#
Avatar billede eagleeye Praktikant
07. juli 2003 - 19:59 #8
SQL bruger US/UK format altså mm-dd-yyyy eller yyyy-mm-dd så prøv at formarter datoen på den måde eller skrive det i formen på den måde.
Avatar billede kkd Nybegynder
07. juli 2003 - 20:00 #9
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&oslash;v igen</a>"
Avatar billede eagleeye Praktikant
07. juli 2003 - 20:09 #10
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
Avatar billede kkd Nybegynder
07. juli 2003 - 20:13 #11
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")

Hvordan ændrer jeg formatet på den value?
Avatar billede kkd Nybegynder
07. juli 2003 - 20:14 #12
Hov, jeg skrev at det ikke er en radiobutton - men det er det!!!
Avatar billede eagleeye Praktikant
07. juli 2003 - 20:15 #13
Du ændre det på den side med SQL og laver datoen om med Year, Month, og Day functionerne:

datoStr = Request.Form("dato")
datoStr = Year(datoStr) & "-" Month(datoStr) & "-" & Day(datoStr)
SQL = "Select * From tilmeldinger WHERE Navn='" & Request.Form("navn") & "' AND Tlf='" & Request.Form("tlf") & "' AND Turdato=#" & datoStr & "#"
Set rs = Conn.Execute (SQL)
Avatar billede kkd Nybegynder
07. juli 2003 - 20:16 #14
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?
Avatar billede eagleeye Praktikant
07. juli 2003 - 20:19 #15
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.
Avatar billede kkd Nybegynder
07. juli 2003 - 20:27 #16
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&oslash;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
Avatar billede eagleeye Praktikant
07. juli 2003 - 20:28 #17
Der mangler også lige et & før month det ahr jeg glemt i denne linje:

datoStr = Year(datoStr) & "-" & Month(datoStr) & "-" & Day(datoStr)
Avatar billede kkd Nybegynder
07. juli 2003 - 20:32 #18
Selvfølgelig..... det kunne jeg sgu da havde sagt mig selv... Nu virker det... Mange tak
svar lige for point!
Avatar billede eagleeye Praktikant
07. juli 2003 - 20:34 #19
Jeps ;)

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"
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