Du har sikkert en conn.close tidligere i din kode. Kan du ikke ellers smide hele din kode ind fra start til linje 49 + et par linjer ekstra, hvis du har nogle loops.
Set rsValgteUdd = Server.CreateObject("ADODB.Recordset") sql = "select * from StamdataUddannelser Where Id = " & Session("StamID") & " Order By uddannelse" rsValgteUdd.Open sql, Conn
Dim Tilfoj Tilfoj = Request.QueryString("tilfoj")
If Tilfoj = "true" Then i = 1 Set rsLoop = Server.CreateObject("ADODB.Recordset") While Session("loops") >= i sql = "insert into CVUdd (Id,CVID,uddannelse,uddannelsessted,uddannelsesstart,uddannelsesslut,Dato) Values (" sql = sql & Session("StamID") & "," sql = sql & Session("CVID") & ",'" sql = sql & Request.Form("uddannelse"&i&"") & "','" sql = sql & Request.Form("uddannelsessted"&i&"") & "'," sql = sql & Request.Form("uddannelsesstart"&i&"") & "," sql = sql & Request.Form("uddannelsesslut"&i&"") & "," sql = sql & Date() & ")" rsLoop.Open sql, Conn i = i + 1 rsLoop.MoveNext Wend End If %> <html> <head> <title></title> <!--#include file="stylesheet.asp"--> <script language="JavaScript"><!-- function myopen(filename,windowname,properties) { mywindow = window.open(filename,windowname,properties); } //--></script> </head>
<body bgcolor="#c0c0c0"> <table border="0" cellpadding="0" cellspacing="0" align="center" id="tabel"> <tr> <td valign="top"> <!--#include file="hovedmenu.asp"--> </td> <td> </td> <td valign="top"> <table border="0" cellpadding="5" cellspacing="0" align="center" id="indhold"> <tr> <td colspan="5" bgcolor="#808080" align="center" height="1"><font face="Verdana" size="3"><strong>Vælg dine uddannelser</strong></font></td> </tr> <% If rsValgteUdd.EOF Then %> <tr> <td align="center" valign="top"><font face="Verdana" size="2" color="#ff0000">Du har ikke tilføjet nogle uddannelser til dine stamdata.<br><br>Klik på "Uddannelse/er" under "Stamdata".</font></td> </tr> <% Else %> <tr> <td align="center" height="1"><font face="Verdana" size="1"><strong>Uddannelse</strong></font></td> <td align="center"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><strong>Uddannelsessted</strong></font></td> <td align="center"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><strong>Start</strong></font></td> <td align="center"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><strong>Slut</strong></font></td> </tr> <% i = 0 Session("loops") = 0 Do While Not rsValgteUdd.EOF %> <form action="cv_uddannelser.asp?tilfoj=true" method="post"> <tr> <td align="center" height="1"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><%=rsValgteUdd("uddannelse")%></font><input type="hidden" name="uddannelse<%=i%>" value="<%=rsValgteUdd("uddannelse")%>"></td> <td align="center"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><%=rsValgteUdd("uddannelsessted")%><input type="hidden" name="uddannelsessted<%=i%>" value="<%=rsValgteUdd("uddannelsessted")%>"></font></td> <td align="center"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><%=rsValgteUdd("uddannelsesstart")%></font><input type="hidden" name="uddannelsesstart<%=i%>" value="<%=rsValgteUdd("uddannelsesstart")%>"></td> <td align="center"><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="1"><%=rsValgteUdd("uddannelsesslut")%></font><input type="hidden" name="uddannelsesslut<%=i%>" value="<%=rsValgteUdd("uddannelsesslut")%>"></td> <td align="center"><input type="checkbox" name="checkboks" value="checkboks" id="checkboks"></td> </tr> <% i = i + 1 Session("loops") = Session("loops") + 1 rsValgteUdd.MoveNext Loop rsValgteUdd.close Set rsValgteUdd = Nothing %> <tr> <td colspan="4" valign="top" align="center"><input type="submit" name="Submit" value="Tilføj sproglige kvalifikationer til CV" id="tilfoj"></td> </tr> </form> <% End If %> </table> </td> <td> </td> <td valign="top"> <!--#include file="stamdata.asp"--><br><br> <!--#include file="cv.asp"--> </td> </tr> </table> </body> </html>
jeg tror nu stadig fejlen ligger i rsLoop.MoveNext, som skyggen iger, så kan du ikke lavet et loop på et tomt resultset. MoveNext flytter pointeren i et resultset der er lavet ved en SELECT sqlstreng. Du skal nok nærmere MoveNext på dette resultset rsValgteUdd, så det bliver rsValgteUdd.MoveNext
Hvad er det helt konkret du forsøger at udføre? Du vil indsætte en række hvis man har trykket tilføj, men du vil gøre det flere gange vha. et loop, dvs. indsætte flere på samme tid?
I så fald tror nærmere du bare skal fjerne denne linie: rsLoop.MoveNext
Det som jeg helt konkret vil er at hente x antal poster fra databasen med en dertil tilhørende checkboks. Man skal så kunne checke disse checkbokse og submitte dem tilbage i databasen i en anden tabel. Jeg har tidligere prøvet med:
Request.Form("checkboks") returnerer et array. Det skal du gemme, da du skal kunne læse værdierne. Man kan også tilgå dem direkte, men kan ikke lige huske syntaksen:)
Du kører dit array igennem, og inden du indsætter, tjekker du om checkboksen er sat, eller om værdien er tom. Det burde få det til at funke.
Nej, jeg fik det ikke til at virke. Droppede faktisk projektet.
Ellers tak for hjælpen
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.