Avatar billede webbe Nybegynder
12. juni 2001 - 08:42 Der er 12 kommentarer og
1 løsning

Tjekke felter før valg af sql

Hejsa

Jeg har brug for at tjekke hvilket felt der er valgt (Checkboxe) inden min ASP vælger sql-statement (INSERT INTO...).

Jeg kan bare ikke få det til at virke. Min kode ser sådan ud:

Select Case Request.QueryString(\"action\")

Case \"save\"

Dim sql, sql1

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"jupiter\"

If Request.Form(\"option1\") = \"checked\" Then
    sql = \"INSERT INTO Quiz_svar (Quiz_id, E_mail, Country, Answer) VALUES (\"&\"\'\"&Request.Form(\"quiz_id\")&\"\', \'\"&Request.Form(\"e_mail\")&\"\', \'\"&Request.Form(\"country\")&\"\', \'\"&Request.Form(\"option1\")&\"\')\"
    COnnect.Execute(sql)
End if

If Request.Form(\"option2\") = \"checked\" Then
    sql = \"INSERT INTO Quiz_svar (Quiz_id, E_mail, Country, Answer) VALUES (\"&\"\'\"&Request.Form(\"quiz_id\")&\"\', \'\"&Request.Form(\"e_mail\")&\"\', \'\"&Request.Form(\"country\")&\"\', \'\"&Request.Form(\"option1\")&\"\')\"
    COnnect.Execute(sql)
End if

If Request.Form(\"option3\") = \"checked\" Then
    sql = \"INSERT INTO Quiz_svar (Quiz_id, E_mail, Country, Answer) VALUES (\"&\"\'\"&Request.Form(\"quiz_id\")&\"\', \'\"&Request.Form(\"e_mail\")&\"\', \'\"&Request.Form(\"country\")&\"\', \'\"&Request.Form(\"option1\")&\"\')\"
    COnnect.Execute(sql)
End if

If Request.Form(\"news\") = \"checked\" Then
    sql1 = \"INSERT INTO Jupiter_club_dk (E_mail, Land) VALUES (\"&\"\'\"&Request.Form(\"e_mail\")&\"\', \'\"&Request.Form(\"country\")&\"\')\"
    Connect.Execute(sql1)
End if

Connect.Close
Set Connect = Nothing

Response.Redirect(\"quiz_ok.asp\")

End Select

Håber der er nogen der kan hjælpe!
Avatar billede webbe Nybegynder
12. juni 2001 - 08:47 #1
Ideen skal bruges til en quiz/konkurrence, hvor jeg kun vil gemme ét svar og ikke alle 3 hvor de 2 så er tomme!
Avatar billede webbe Nybegynder
12. juni 2001 - 08:49 #2
Får iøvrigt også en fejlmeddelelse om at \"Object variable not set\" i linie 74, som iøvrigt er en tom linie!!!!

Men tror den hentyder til mine If-sætninger!
Avatar billede flytier Nybegynder
12. juni 2001 - 09:23 #3
Hvis du kun vil have et svar, så brug radiobuttons istedet for checkboxes, så slipper du for de 3 første if-sætninger.
Avatar billede webbe Nybegynder
12. juni 2001 - 09:34 #4
flytier:

Der skal ikke kun være én if-sætning!

Den sidste ligger bare personen i tabellen for nyhedsbrevet og så skal der være en sql der indsætter quiz-svaret!

Men hvordan undgår jeg flere ifsætninger ved brug af radio-buttons???
Avatar billede flytier Nybegynder
12. juni 2001 - 09:46 #5
Hvis du giver dine radiobuttons det samme navn, men forskellige values, kan brugeren kun vælge en knap, og så slipper du for for at have 3 if-sætninger og kan nøjes med en sql-sætning hvad svarene angår.
Avatar billede flytier Nybegynder
12. juni 2001 - 09:59 #6
Dette er hvad jeg tror behøver...

<%@ language=javascript%>
<%
    var Qid = Request.Form(\"quiz_id\");
    var Email = \"\"+Request.Form(\"e_mail\");
    var Country = \"\"+Request.Form(\"country\");
    var svar = \"\"+Request.Form(\"svar\");//dette er resultatet fra radiobuttons
    var news = \"\"+Request.Form(\"news\");   
    var sql;
    var sql2;
   
    var Conn = Server.CreateObject(\"ADODB.Connection\");
    Conn.Open(\"jupiter\");
   
   
    sql = \"INSERT INTO Quiz_svar (Quiz_id, E_mail, Country, Answer) VALUES (\"+Qid+\", \'\"+Email+\"\', \'\"+Country+\"\', \'\"+svar+\"\')\";
    Conn.Execute(sql);
   
    if(news==\"on\")
    {
        sql2 = \"INSERT INTO Jupiter_club_dk (E_mail, Land) VALUES (\'\"+Email+\"\', \'\"+Country+\"\')\";
        Conn.Execute(sql2);
    }
   
    Conn.close();
Avatar billede webbe Nybegynder
12. juni 2001 - 10:20 #7
Er det ikke noget javascript du bruger der???
Avatar billede flytier Nybegynder
12. juni 2001 - 10:22 #8
Jo, jeg koder min ASP i javascript.
Avatar billede webbe Nybegynder
12. juni 2001 - 10:22 #9
Det er jeg ikke meget for at gøre da jeg ikke kender så meget til javascript!!!
Avatar billede webbe Nybegynder
12. juni 2001 - 10:31 #10
Okay - den første sql virker nu (som ren ASP) - men den sidste der tjekke om news er \"on\" virker desværre ikke!
Avatar billede flytier Nybegynder
12. juni 2001 - 10:39 #11
Tilgiv mig hvis mit VB\'ske ikke er helt korrekt;-)...

<%@ language = vbscript%>
<%
    Dim Qid, Email, Country, svar, news, sql, sql2, Conn
   
    Qid = Request.Form(\"quiz_id\")
    Email = Request.Form(\"e_mail\")
    Country = Request.Form(\"country\")
    svar = Request.Form(\"svar\")
    news = Request.Form(\"news\") 
    Response.write(news)
   
   
    Conn = Server.CreateObject(\"ADODB.Connection\")
  Conn.Open \"jupiter\"
   
   
    sql = \"INSERT INTO Quiz_svar (Quiz_id, E_mail, Country, Answer) VALUES (\"&Qid&\", \'\"&Email&\"\', \'\"&Country&\"\', \'\"&svar&\"\')\"
    Conn.Execute(sql)
   
    if news=\"on\" then
        sql2 = \"INSERT INTO Jupiter_club_dk (E_mail, Land) VALUES (\'\"&Email&\"\', \'\"&Country&\"\')\"
        Conn.Execute(sql2)
    End if
   
    Conn.close
    Set Conn = nothing
%>
Avatar billede webbe Nybegynder
12. juni 2001 - 10:44 #12
Hmmm - den sidste if-sætning er også sådan jeg har lavet den, men den virker bare ikke!
Avatar billede webbe Nybegynder
12. juni 2001 - 10:53 #13
Hmmm - tror jeg havde glemt at opdatere lortet for nu virker det....tak for hjælpen!
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