Avatar billede software Nybegynder
29. marts 2005 - 11:27 Der er 10 kommentarer og
1 løsning

Operation is not allowed

Når jeg prøver dette:

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

får jeg denne fejl:

ADODB.Recordset (0x800A0E78)
Operation is not allowed when the object is closed.
/dynamiskdatabase/cv_uddannelser.asp, line 49

Hvad gør jeg galt ?

/Software
Avatar billede moejensen Nybegynder
29. marts 2005 - 11:36 #1
hvilken linie er nr 49.
Avatar billede skyggen2000 Nybegynder
29. marts 2005 - 11:36 #2
rsLoop.MoveNext, hvorfor vil du lave dette?

Du får jo ingen rækker tilbage?
Avatar billede fennec Nybegynder
29. marts 2005 - 11:40 #3
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.
Avatar billede software Nybegynder
29. marts 2005 - 11:47 #4
Dette er ehele min kode:

<!--#include file="dbforb.asp"-->
<%
Session.LCID = 1030

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>&nbsp;</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>&nbsp;</td>
        <td valign="top">
            <!--#include file="stamdata.asp"--><br><br>
            <!--#include file="cv.asp"-->
        </td>
    </tr>
</table>
</body>
</html>
Avatar billede moejensen Nybegynder
29. marts 2005 - 11:54 #5
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
Avatar billede skyggen2000 Nybegynder
29. marts 2005 - 12:03 #6
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
Avatar billede fennec Nybegynder
29. marts 2005 - 12:03 #7
moejensen >>
Det er da rigtigt. rsLoop er jo en indsættelse, det havde jeg slet ikke set :o)
Avatar billede software Nybegynder
29. marts 2005 - 12:14 #8
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:

For Each Item In Request.Form("checkboks")
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() & ")"
Conn.Execute sql
Next

hviket jeg heller ikke kunne få til at virke.
Avatar billede skyggen2000 Nybegynder
29. marts 2005 - 12:54 #9
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.
Avatar billede skyggen2000 Nybegynder
06. april 2005 - 09:32 #10
Fik du det til at funke?
Avatar billede software Nybegynder
18. april 2005 - 23:36 #11
Sen tilbagemelding.....jeg ved det godt.

Nej, jeg fik det ikke til at virke. Droppede faktisk projektet.

Ellers tak for hjælpen
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