Avatar billede js17dk Nybegynder
19. marts 2001 - 11:59 Der er 31 kommentarer og
1 løsning

Check boks (ja/nej)

Jeg har et problem med en Ja/nej boks i databsen når jeg lægger det ind i mit admin modul, giver den en fejl. Den siger at kriteriet ikke passer.

Hvordan får jeg det til at virke??
Avatar billede nute Nybegynder
19. marts 2001 - 12:01 #1
hva er det du prøver å sette inn i din kolonne ? (Hvilke verdier yes/no, true/false?)

/nute
Avatar billede keysersoze Guru
19. marts 2001 - 12:02 #2
hvilken fejl kommer der, og hvordan ser din kode-stump ud?
Avatar billede js17dk Nybegynder
19. marts 2001 - 12:02 #3
true/false
Avatar billede js17dk Nybegynder
19. marts 2001 - 12:05 #4
I får det lidt i bidder:

Check = CStr(Request.QueryString(\"Check\"))


Her henter jeg det der skal rettes ind:
    Case \"nyperson\"
        If State = 0 Then
                    Response.Write \"<h3>Ny Person</h3>\"
            ShowpersonForm
        Else
            SQLstmt = \"INSERT INTO Medarbejder (Navn, Stilling, Email, Telefon, Beskrivelse, Billed, Alder, Udd, Afd, Check, Parent) VALUES (\"
            SQLstmt = SQLstmt & \"\'\" & Navn & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Stilling & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Email & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Telefon & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Beskrivelse & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Billed & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Alder & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Udd & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Afd & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Check & \"\', \"
            SQLstmt = SQLstmt & \"\" & ID & \");\"
            Conn.Execute SQLstmt
            %>
            <p align=\"center\">Medarbejderen / personen er blevet tilføjet.<br>
            [<a href=\"adminstor.asp\">Tilbage</a>]
            <%
Avatar billede keysersoze Guru
19. marts 2001 - 12:10 #5
for at sætte noget ind med en ja/nej boks, skal du indsætte xxx = true (el. xxx = false) og ikke som normalt med xxx = \'\" & Check & \"\'

du kan jo fx prøve at se hvad der sker hvis du kun udskriver værdien af den CHECK (som jeg vil tror er problemet) og se hvad der kommer ud af det..
Avatar billede js17dk Nybegynder
19. marts 2001 - 12:25 #6
Det fattede jeg ikke helt, kan du ikke prøve at lave det noget kode??
Avatar billede sone Nybegynder
19. marts 2001 - 12:29 #7
En checkbox som ikke er checket, har værdien \"\" - så du skal have lavet en check:

IF check=\"\" THEN check=\"false\"
Avatar billede keysersoze Guru
19. marts 2001 - 12:30 #8
IF check=\"\" THEN
check = false
else
check = true

mener ikke der skal \"\" med..
Avatar billede sone Nybegynder
19. marts 2001 - 12:31 #9
Så vist jeg husker, så kan man sende teksten true/false til databasen...
Avatar billede js17dk Nybegynder
19. marts 2001 - 12:37 #10
hvor vil I have det til at stå.
Hvis det er i det alm. asp kode har jeg det inde, det er kun når jeg skal skrive til databasen at det kokser
Avatar billede nute Nybegynder
19. marts 2001 - 12:53 #11
du skal ikke sette \' rundt true/false...alle verdier som du sender til databasen som skal inn i et ja/nei felt skal være sånn (kolonnen = check)

check = true

ikke sånn

check = \'true\'

/nute
Avatar billede js17dk Nybegynder
19. marts 2001 - 12:57 #12
Jeg spørger stadig hvor I vil have det ind i koden. Kan i ikke sætte det sammen med det jeg har lagt ud??
Avatar billede nute Nybegynder
19. marts 2001 - 13:00 #13
SQLstmt = \"INSERT INTO Medarbejder (Navn, Stilling, Email, Telefon, Beskrivelse, Billed, Alder, Udd, Afd, Check, Parent) VALUES (\"
            SQLstmt = SQLstmt & \"\'\" & Navn & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Stilling & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Email & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Telefon & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Beskrivelse & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Billed & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Alder & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Udd & \"\', \"
            SQLstmt = SQLstmt & \"\'\" & Afd & \"\', \"
            SQLstmt = SQLstmt & Check & \", \"
            SQLstmt = SQLstmt & \"\" & ID & \");\"
           
Avatar billede js17dk Nybegynder
19. marts 2001 - 13:05 #14
Så får jeg denne fejl:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
admin.asp, line 58
Avatar billede nute Nybegynder
19. marts 2001 - 13:09 #15
hva ligger i linje 58 av din kode ?
Avatar billede sone Nybegynder
19. marts 2001 - 13:10 #16
Prøv at udskrive SQLstmt - kan du så selv se en fejl?
Avatar billede js17dk Nybegynder
19. marts 2001 - 13:17 #17
jeg fatter ikke hvad du mener
Avatar billede js17dk Nybegynder
19. marts 2001 - 13:23 #18
Dette er linie 58:
Conn.Execute SQLstmt
Avatar billede js17dk Nybegynder
19. marts 2001 - 13:27 #19
Jeg tror at noget af det der er galt er at den ikke laver Ja\'et i databasen (ja/nej boksen) om til et krydt i en check boks
Avatar billede nute Nybegynder
19. marts 2001 - 13:29 #20
istedefor å eksekvere SQLstmt, så skriver du den ut:

response.write SQLstmt

deretter kan vi se hvordan SQL\'en din ser ut *før* den blir eksekvert...

/nute
Avatar billede js17dk Nybegynder
19. marts 2001 - 13:42 #21
Dette udskriver den:
INSERT INTO Medarbejder (Navn, Stilling, Email, Telefon, Beskrivelse, Billed, Alder, Udd, Afd, Check, Parent) VALUES (\'dfg\', \'dfg\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'Check\', 0);
Avatar billede tommyf Nybegynder
19. marts 2001 - 13:44 #22
Jeg gør sådan her hvis jeg skal tage en værdi fra en form og sætte ind i ja/nej:
------------------------------------------------------------
if Request.form(\"Tingest\") = \"on\" then
Tingest = \"True\"
Else
Tingest = \"False\"
End If
------------------------------------------------------------
Avatar billede nute Nybegynder
19. marts 2001 - 13:53 #23
tommyf >> hvis en checkbox ikke er checked, så kommer den ikke med på request\'en, dermed kan du skrive:
<%
tingest = false

if request.form(\"tingest\") then
  tingest = true
end if
%>

js17dk >> hvis du ser i din INSERT SQL ting, så ser du at det står:

VALUES (\'dfg\', \'dfg\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'Check\', 0)

der det står \'Check\', skal det jo stå enten true eller false

/nute
Avatar billede tommyf Nybegynder
19. marts 2001 - 13:55 #24
Nute<--> Tak, men det køre udmærket, så jeg lader være med at ændre i det ;o)
Avatar billede nute Nybegynder
19. marts 2001 - 13:57 #25
tommyf >> jeg vet det kjører...det var bare en generell kommentar :)
Avatar billede js17dk Nybegynder
19. marts 2001 - 14:00 #26
Jeg får stadig den samme fejl
Avatar billede nute Nybegynder
19. marts 2001 - 14:02 #27
post din SQL, så får vi se...det er umulig å hjelpe hvis det eneste vi får er kommentaren \"Det fungerer ikke\" eller \"Jeg får stadig samme feil\"
Avatar billede js17dk Nybegynder
19. marts 2001 - 14:10 #28
INSERT INTO Medarbejder (Navn, Stilling, Email, Telefon, Beskrivelse, Billed, Alder, Udd, Afd, Check, Parent) VALUES (\'dfgh\', \'fh\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'False\', 0);
Avatar billede nute Nybegynder
19. marts 2001 - 14:12 #29
les min kommentar 19/03 2001 12:53:14  !! det står du skal droppe \' rundt din Yes/No kolonne !!

Din SQl skal se sånn ut:

INSERT INTO Medarbejder (Navn, Stilling, Email, Telefon, Beskrivelse, Billed, Alder, Udd, Afd, Check, Parent) VALUES (\'dfgh\', \'fh\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', False, 0); 

ikke sånn:

INSERT INTO Medarbejder (Navn, Stilling, Email, Telefon, Beskrivelse, Billed, Alder, Udd, Afd, Check, Parent) VALUES (\'dfgh\', \'fh\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'False\', 0); 

/nute
Avatar billede js17dk Nybegynder
19. marts 2001 - 14:19 #30
Fint nu virker det.
Mange tak
Avatar billede js17dk Nybegynder
19. marts 2001 - 14:34 #31
Det virker altså ikke helt endnu.
Den sætter ikke noget kryds i ja/nej boksen hvis der er et krydt i check boksen.

Før virkede det med at hvis der ikke stod noget i en tabel, blev der heller ikke skrevet noget på siden (en If sætning) det virker heller ikke mere
Avatar billede keysersoze Guru
19. marts 2001 - 15:52 #32
i det jeg sidst har lavet med ja/nej sætter jeg alle data pånær checkboxen ind...

derefter går jeg ind og tjekker om min radiobutton (som bruges i mit tilfælde) er true eller false! som standard står min ja/nej til false, så er der ikke afkrydset noget, sker der ikke mere, men ER den afkrydset og den altså skal være TRUE, bruger jeg en update-sætning der ser nogenlunde sådan ud:

if request.form(\"online\")=\"on\" then

    conn.Execute \"UPDATE brugere SET online=True where brugernavn=\'\" & brugernavn & \"\'\"
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