Avatar billede suppenudel Nybegynder
20. oktober 2005 - 23:35 Der er 9 kommentarer og
1 løsning

Opdatere Checkboxliste til database

Hej.

Jeg prøver med denne sub at opdatere boolske værdier fra min checkboxlist til min database. Hvis den enkelte checkbox er checked skal den indsætte True i min database - hvis ikke, skal den indsætte false.

Jeg har prøvet at løbe hver enkelt item igennem med noget i denne retning, men det vil ikke helt fungere:

Protected Sub BtnSend_Click(ByVal sender As Object, ByVal e As System.EventArgs)
     
        Dim Item as ListItem
        Try             
            For Each Item In Chk1.Items
              If Item.Selected = True Then
                    strSQL = "UPDATE Tabel SET Status = True WHERE Navn= '" & Item & "';"
                Else
                    strSQL = "UPDATE Tabel SET Status = False WHERE Navn= '" & Item & "';"
                                                     
                End If             
Next   

        Catch ex As Exception
            Response.Write(ex.ToString())
        End Try
End Sub 

Min Tabel i db'en kunne se således ud:

-------------------

NAVN  STATUS
per    X
jens    O
ole    O

------------------

- så altså hvis der er flueben ud for ole i min CheckBoxlist, skal det gerne opdateres til true i databasen.

Er der nogen der kan se hvad jeg gør galt?
Avatar billede dgivoni Nybegynder
21. oktober 2005 - 11:26 #1
Får du ingen fejlmeddelelse?
i din sql-streng skal du have fat i Item.Value:
strSQL = "UPDATE Tabel SET Status = True WHERE Navn= '" & Item.Value & "';"

Måske er det bare på grund af at du har simplificeret eksemplet, men du har jo ikke noget kald til databasen?
Avatar billede suppenudel Nybegynder
24. oktober 2005 - 08:57 #2
Hej igen,

Nej, der kommer mærkeligt nok ingen fejlmeddelelse. Jeg mangler rigtig nok et kald, og hvis jeg prøver med din strSQL:

strSQL = "UPDATE Tabel SET Status = False WHERE Navn= '" & Item.Value & "';"

            og udskriver den med response.write(strSQL) får jeg:

"UPDATE Tabel SET Status = False WHERE Navn= 'Jens'"

Det ser jo rigtig nok ud, men den opdaterer stadig intet til databasen selvom der her kommer et kald...
Avatar billede suppenudel Nybegynder
24. oktober 2005 - 09:46 #3
Er der en fejl i SQL-sætningen, den opdaterer nemlig heller ikke noget når jeg kører den direkte i databasen?!
Avatar billede dgivoni Nybegynder
24. oktober 2005 - 10:26 #4
SQL-sætningen er rigtignok bygget op, så den eneste mulighed jeg kan se, er at der ikke er nogen post i "Tabel" med navnet "Jens". Har du tjekket det?
Avatar billede suppenudel Nybegynder
24. oktober 2005 - 10:34 #5
Ja, det er rimeligt underligt, for jeg har posten i tabellen. Hvis jeg nu bare direkte i min database (Access) laver en tabel, "Tabel".

-------------------

NAVN  STATUS
per    X
jens    X
ole    X

------------------

Og under forespørgsler laver en:

  UPDATE Tabel SET Status = False WHERE Navn= 'Jens'

Sker der slet ikke noget - ikke engang en fejlmeddelelse.
Jeg mener da at jeg førhen uden problemer har kunnet lave opdateringsforespørgsler på denne måde??
Avatar billede dgivoni Nybegynder
24. oktober 2005 - 10:39 #6
Ja, det er mærkeligt. Nu ved jeg ikke hvordan din database er konfigureret, men prøv lige at tjek om det har med store/små bogstaver at gøre.
Dvs. prøv med Navn = 'jens' i stedet for Navn = 'Jens'
Avatar billede suppenudel Nybegynder
24. oktober 2005 - 11:20 #7
Hov, en fejl fra min side, sorry. Jeg kan godt køre forespørgslen fra Access alligevel, og den sætter Status til False ud for Jens.

Dog kan jeg stadig ikke få det til at fungere i min sub. Den melder ingen fejl, selvom jeg prøver at catche en exception.
Avatar billede suppenudel Nybegynder
24. oktober 2005 - 12:15 #8
Jeg har fundet ud af en anden løsning, jeg kan ikke få det til at virke med at opdatere fra checkboxene, ved hjælp af ovenstående kode.

Men smid du blot et svar, jeg kunne helt sikkert bruge din hjælp! :-)
Avatar billede dgivoni Nybegynder
24. oktober 2005 - 12:55 #9
Mange tak. Selvom det er lidt ærgerligt det ikke kom til at virke. Princippet er i hvert fald godt nok...
Avatar billede suppenudel Nybegynder
26. oktober 2005 - 23:38 #10
Jep helt sikkert! Jeg vender tilbage hvis jeg får brug for det igen, og ikke kan få det til at virke :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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