22. maj 2003 - 20:17Der er
71 kommentarer og 1 løsning
Fejl i indsætningsscript
Kan nogen finde fejlen(e) i nedenstående script, som indsætter poster i en db.
<%
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = ""
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) if box = CStr(d) then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib"
end if session("antal") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "") end if
Jeg har selv rettet en fejl, men det virker stadig ikke.
%
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = ""
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) if box = CStr(d) then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib"
end if session("antal") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "") end if
Microsoft OLE DB Provider for ODBC Drivers fejl '80004005' [Microsoft][ODBC Microsoft Access-driver] Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul.
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) if box = CStr(d) then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib"
end if session("antal") = var+1 var = var+1 end if next
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) Response.Write box & "<br>" if box = CStr(d) then Response.Write d & "<br>" if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib"
end if session("antal") = var+1 var = var+1 end if next
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) x = d if box = CStr(x) then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
Fejlen ligger i at reservation ikke får nogen værdi når dit loop bliver kørt. Derfor får du fejlen "Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul. "
Da rs("reservation") = session("data" & e) Åbenbart bliver til
Der er dog ingen tvivl om, at det er her fejlen ligger, for reservation har før virket med en textbox, som jeg så har forsøgt at erstatte med 3 checkboxe.
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d)%> <script> alert("<%=box%> </script> <% if box = CStr(d) then%> <script> alert("<%=d%> </script> <% if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib"
end if session("antal") = var+1 var = var+1 end if next
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d)%> <script> alert("<%=box%>") </script> <% if box = CStr(d) then%> <script> alert("<%=d%>") </script> <% if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
Får at vide, at der mangler et "next" i linje 180 som er den sidste linje i scriptet. Hvis jeg sætter next ind her, får jeg ingen fejlmeddelelse, men der bliver intet indsat i db'en. Det ser sådan ud nu
<%
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = ""
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d)%> <script> alert("<%=box%>") </script> <% if box = CStr(d) then%> <script> alert("<%=d%>") </script> <% if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "") end if
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = ""
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) var1 = box if box = CStr(d) then var2 = d if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "") end if
.... If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing ...
Microsoft OLE DB Provider for ODBC Drivers fejl '80004005' [Microsoft][ODBC Microsoft Access-driver] Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul.
Måske kan dette hjælpe. Scriptet virkede, da jeg kun havde checkboxe til indsættelse af lektionerne. Resten blev indsat via textboxe. Jeg har så forsøgt at bruge checkboxe til indsættelse af reservationer (dataA, dataB og dataBib), så man udover at kunne reservere flere lektioner også kan foretage forskellige reservationer på en gang. Det er så her det går galt, og det vi har arbejdet med indtil nu, er netop en del af det nye jeg har forsøgt mig med. Håber du forstår den lidt knudrede forklaring. Hvis det kan hjælpe, kan jeg vise dig scriptet, som det så ud før da det virkede.
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box2 = Request.form("data" & d) if box2 = CStr(d) then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
Microsoft OLE DB Provider for ODBC Drivers fejl '80004005' [Microsoft][ODBC Microsoft Access-driver] Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul.
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 box = Request.form("data" & d) if box = "dataA" OR box = "dataB" OR box = "dataBib" then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = Request.Form("reservation") rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("billedkunst.asp?uge=" & uge & "&reservation=" & reservation & "") end if
var = 0 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 if Request.form("data" & d) <> "" then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal") = var+1 var = var+1 end if next
Jeg tror der sker noget, men det er kun noget af det der virker. Hvis jeg vælger alle 3 reservationer i 7 lektioner, så virker det, men vælger jeg 1 eller 2 reservationer i 7 lektioner, bliver kun 1 lektion indsat. Desuden fremkommer fejlmeddelelsen med længden nul, men bruger jeg tilbagepilen så jeg kommer til skemaet, så kan der godt være noget indsat
Jeg tror at jeg har indkredset fejlen. Det virker hvis alle 3 checkboxe i reservation vælges uanset hvor mange lektioner der vælges. Vælges kun 1 eller 2 checkboxe i reservation, så virker det ikke.
Jeg (vi) skal simpelthen have det her til at virke. Et godt tilbud... 200 point, hvis du løser mit problem. Når det virker når alle checkboxene markeres, så må det også kunne komme til at virke, når kun nogle af dem markeres!!!
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = "" var = 1 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 if Request.form("data" & d) <> "" then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal2") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "") end if
Jeg tror, at d er tæt på en løsning. Kan nu indsætte dataA i alle 7 lektioner, og dataA og dataB i alle 7 lektioner, og dataA og dataB og dataBib i alle 7 lektioner. Men ikke f.eks. dataB og DataBib i 7 lektioner, og dataA og dataBib i 7 lektioner. Desuden er det kun dataA, som kan indsættes alene i 7 lektioner, ikke dataB og DataBib. Håber du forstår, det er lidt kompliceret, da der er så mange kombinationsmuligheder.
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next next
Med
for j = 1 to 7
for e = 1 to CInt(session("antal2"))-1
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';" Set rs = Conn.Execute(strSQL) If (Rs.BOF Or Rs.EOF) Then if session("data" & e) <> "" Then if session("box" & j) <> "" then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update end if end if Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If next next
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = ""
var = 1 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 if Request.form("data" & d) <> "" then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal2") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
for j = 1 to 7 for e = 1 to 3 if session("data" & e) <> "" then if session("box" & j) <> "" then
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';" Set rs = Conn.Execute(strSQL) If (Rs.BOF Or Rs.EOF) Then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update Else if session("box" & j) <> "" then session("fejl" & j) = "true" end if End If end if end if
next next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else uge = request.form("uge") Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "") end if %>
Sorry, jeg har været væk! Nu virker det :) Desværre med den undtagelse, at jeg nu ikke får en besked, når man forsøger at reservere en lektion, der er optaget i forvejen, men det må vel også kunne komme til at fungere igen
Okay, jeg må nok oprette et nyt spm, men du skal selvfølgelig have de 200 point jeg har lovet dig. Send et svar, så får du de 60 p. og jeg opretter et spm til dig med resten. Tak for hjælpen, du har kæmpet bravt og jeg er glad for at du fik det til at virke.
Jeg lægger et svar her så. Prøver lige en sidste gang på min egen comp. Det var ikke muligt du kunne sende mig en database(behøver ikke være med data i) hvor strukturen er den samme som den vi knokler med her.
Så er problemet løst din side skal se sådan her ud.
<%
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt session("box1") = "" session("box2") = "" session("box3") = "" session("box4") = "" session("box5") = "" session("box6") = "" session("box7") = ""
var = 0 for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3 box = Request.form("box" & i) if box = CStr(i) then if i = 1 then session("box" & i) = "1" elseif i = 2 then session("box" & i) = "2" elseif i = 3 then session("box" & i) = "3" elseif i = 4 then session("box" & i) = "4" elseif i = 5 then session("box" & i) = "5" elseif i = 6 then session("box" & i) = "6" elseif i = 7 then session("box" & i) = "7"
end if session("antal") = var+1 var = var+1 end if next
antal = CInt(session("antal"))
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt session("data1") = "" session("data2") = "" session("data3") = ""
var = 1 for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3 if Request.form("data" & d) <> "" then if d = 1 then session("data" & d) = "dataA" elseif d = 2 then session("data" & d) = "dataB" elseif d = 3 then session("data" & d) = "dataBib" end if session("antal2") = var+1 var = var+1 end if next
strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';" Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From ebberup_reserver " rs.Open strSQL, Conn, 1, 3 rs.AddNew rs("aar") = Request.Form("aar") rs("uge") = Request.Form("uge") rs("dag") = Request.Form("dag") rs("lektion") = session("box" & j) rs("initialer") = Request.Form("initialer") rs("klasse") = Request.Form("klasse") rs("reservation") = session("data" & e) rs.update Else session("fejl" & j) = "true" End If
end if next end if next ' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-) Conn.Close Set Conn = Nothing
if session("fejl1") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl2") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl3") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl4") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl5") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl6") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>" elseif session("fejl7") <> "" then Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>" else Response.Write "Din reservation er nu reserveret" end if %>
jeg har svaret på det andet spørgsmål, det var så lidt. Problemet var den sidste variabel i din strSQL.
Synes godt om
Ny brugerNybegynder
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.