Avatar billede martinhh Nybegynder
08. februar 2002 - 09:57 Der er 8 kommentarer og
1 løsning

Problemer med ASP/SQL kode

Hejsa!
Jeg forstår ikke, hvorfor den ikke Responser den tekst, jeg har angivet den til, når jeg indtaster den rigtige værdi:


<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("slettet.mdb")
Conn.Open DSN
strSQL = "Select * From rs Where Id = " & Request.Form("Id")
Set rs = Conn.Execute(strSQL)

if Request.Form("losning") = rs("losning") then
Response.Write "<p><font face=""Vardana"" Size=""2"">Dit svar er rigtigt, du er vildt god til regnestykker!</font></p>"

else

Response.Write "hej, hej, det var"
end if

Conn.Close
Set Conn = Nothing
%>


Altså, jeg taster det der skulle stå i min If-sætning nemlig tallet der er = rs("losning") men den gider ikke Response, den tekst jeg så siger den skal Response

Håber på hurtig hjælp!

Martin
Avatar billede coltau Juniormester
08. februar 2002 - 10:01 #1
Når du sammenligner tekster på den måde er der mange ting der kan gå galt.
Husk at Request.Form("losning") er xxx fra denne sætning: <input type="text" name="xxx"
men prøv i første omgang dette:
if LCase(Request.Form("losning")) = LCase(rs("losning")) then

Som vil lave begge tekster til små tegn før sammenligningen.
Avatar billede torbenmelander Nybegynder
08. februar 2002 - 10:03 #2
Hvis det er et tal vil den måde du har lavet sammenligning med ikke virke medmindre du konvertere til en (long)integer:

if CLng(Request.Form("losning")) = CLng(rs("losning")) then
Avatar billede jhc Nybegynder
08. februar 2002 - 11:37 #3
Bare en strøg tanke din SQL-sætning

Select * from rs where id = Request.form("ID")

Er "RS" navnet på en tabel i din database eller navnet på din recordset - skal være navnet på en tabel i basen.

Så vil følgende være korrekt at skrive

Select * from MINTAbel where ID = Request.form("ID")

så ville jeg derefter undersøge om RS("Losning") indeholder en værdi og om recordset er EOF. Desuden ville jeg også checke Request.form("losning")

Hvis du er interesseret kan jeg skrive en ASP fil som gør ovenstående - senere på dagen.
Avatar billede jhc Nybegynder
08. februar 2002 - 11:41 #4
Bare en strøg tanke din SQL-sætning

Select * from rs where id = Request.form("ID")

Er "RS" navnet på en tabel i din database eller navnet på din recordset - skal være navnet på en tabel i basen.

Så vil følgende være korrekt at skrive

Select * from MINTAbel where ID = Request.form("ID")

så ville jeg derefter undersøge om RS("Losning") indeholder en værdi og om recordset er EOF. Desuden ville jeg også checke Request.form("losning")

Hvis du er interesseret kan jeg skrive en ASP fil som gør ovenstående - senere på dagen.
Avatar billede martinhh Nybegynder
08. februar 2002 - 13:15 #5
jhc>> Min tabel hedder rs :-)
Avatar billede martinhh Nybegynder
08. februar 2002 - 13:15 #6
Jeg vil checke de andre svar, og komme tilbage hurtigst muligt...
Avatar billede martinhh Nybegynder
08. februar 2002 - 13:18 #7
Torbenanmelder>>> Dit svar virker, og det er jeg glad for! Tak for det....
Avatar billede torbenmelander Nybegynder
08. februar 2002 - 13:19 #8
Tak fot point :-)
Avatar billede martinhh Nybegynder
08. februar 2002 - 13:20 #9
Eftersom at Request.Form("losning") er et hidden felt, er det den skal levere ID'et, uden at brugeren ændre noget, så derfor mener jeg ikke det var nødvendigt at tjekke den først.
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