Avatar billede magnus_b Nybegynder
11. december 2002 - 13:19 Der er 5 kommentarer og
1 løsning

Multiopdatering

På denne her side
http://www.kif-atletik.dk/testsite/opdatering_betaling.asp
vil jeg gerne kunne opdater et felt, fra nej til ja og omvendt. Jeg kan dog ikke finde ud af hvordan jeg skal få det til at fungere, eftersom jeg ikke har så meget styr på ASP/SQL.

Den først side har følgende kode:

<%
Do While Not rsData.EOF
%>

<%
'BAGGRUNDSFARVE
tal = tal + 1
dim tal
if tal MOD 2 = 0 then
%>
<tr bgcolor=#e5e5e5>
<% else %>
<tr bgcolor=#ffffff>
<% end if %>


<TD WIDTH="5%"><% Response.Write (rsData("ID")) %></TD>
<TD WIDTH="45%"><% Response.Write (rsData("fornavn")) %></TD>
<TD WIDTH="45%"><% Response.Write (rsData("efternavn")) %></TD>
<TD WIDTH="5%">
<INPUT TYPE="checkbox" NAME="betalt <% Response.Write (rsData("ID")) %>" <% if rsData("Betalt")="ja" Then Response.Write "checked" end if %> >
</TD>
</TR>

<%
rsData.MoveNext
Loop

' Lukker databaseforbindelsen
dbconnect.Close
Set dbconnect = Nothing
%>


Den side der skulle foretage opdateringen ser sådan ud:
<%
'Databaseforbindelse
Dim dbconnect
Set dbconnect = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/betalingtest.mdb")
dbconnect.Open strDSN

Dim strQ, rsData
Set rsData = Server.CreateObject("ADODB.Recordset")
Set rsData = dbconnect.execute("SELECT * FROM Resultater")

'Der skrives til databasen
strQ = "UPDATE Resultater
SET betalt = nej"

strQ = "UPDATE Resultater
SET betalt = ja
WHERE id IN ( <liste fra formen> )"
Det er i ovenstående linie jeg går kold.


'SQL sætning eksekveres
dbconnect.execute(strQ)
%>
Avatar billede eagleeye Praktikant
11. december 2002 - 13:31 #1
Hvis det er et ja/nej felt i databasen så du bruger true/false:

<% if rsData("Betalt")= true Then Response.Write "checked" end if %>
Avatar billede eagleeye Praktikant
11. december 2002 - 13:33 #2
Når du skal gemme skal du hendte checkboksen og hvis der er en værdi i value er der kryds i den.

Du skal bruge 1/true for Ja og 0/false for Nej


if request.form("CHECK_BOKS_NAVNET_HER") = "" then
  betalt = false
else
  betalt = true
end if

og SQL'en

SQL = "UPDATE table SET betalt = " & betalt & " WHERE ID = " & enID
Avatar billede magnus_b Nybegynder
11. december 2002 - 14:09 #3
Feltet i databasen er ja/nej, men selv om der er valgt nogle vises det ikke på siden. Jeg er for fatsvag, jeg forstår ikke helt din forklaring. Måske jeg heller ikke forklare mig ordenligt, men siderne og databasen kan downloads her
http://www.kif-atletik.dk/testsite/betaling.zip

Så skulle det være muligt at se hvad jeg prøver at forklare.
Avatar billede websam Nybegynder
11. december 2002 - 16:19 #4
Hejsa efter hvad jeg kan se skal du ændre denne :

<INPUT TYPE="checkbox" NAME="betalt <% if rsData("Betalt")= Ja Then Response.Write "checked" end if %>">

Til denne :

<INPUT TYPE="checkbox" NAME="betalt <% if rsData("Betalt")= True Then Response.Write "checked" end if %>">

Dette skal ske på siden opdatering_betaling.asp

På opdatering_betaling2.asp skal du lige ændre dette :

'Der skrives til databasen
strQ = "UPDATE Resultater
SET betalt = Nej"

strQ = "UPDATE Resultater
SET betalt = Ja
WHERE id IN ( <liste fra formen> )"

Til dette :

'Der skrives til databasen
strQ = "UPDATE Resultater
SET betalt = False"

strQ = "UPDATE Resultater
SET betalt = True
WHERE id IN ( <liste fra formen> )"

Jeg har ikke lige tjekket det af men det burde virke :o)

/WebSam
Avatar billede websam Nybegynder
11. december 2002 - 17:07 #5
Du kan oxo bruge denne :

<% if rsData("Betalt")= True Then%>
<INPUT TYPE="checkbox" NAME="betalt" checked value="">
<%Else%>
<INPUT TYPE="checkbox" NAME="betalt" value="">
<%End If%>

Det er testet og det virker :o)

/Websam
Avatar billede magnus_b Nybegynder
13. december 2002 - 10:20 #6
Det ser ganske godt ud, men jeg er lidt tung ude i ASP/SQL. Så kunne du forklare hvad jeg skal skrive i stedet for WHERE id IN ( <liste fra formen> )"

liste fra form har jeg vanskeligt ved at finde ud af, faktisk er det kernen til mine hovedbryd.
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