63 messaggi dal 06 settembre 2002
error '80020009'
Exception occurred.

/admin/scegli.asp, line 18

corrisponde alla insert di questo codice:
<!-- #include file="../inc/apridb.inc"-->
<%

strsql= "select * from docente where nome like '" & request("id") & "'"
Rst.Open StrSql, Cnn
dim idins
setidins = rst("iddocente")
rst.close


StrSql = "SELECT max(idmateria) as Massimo FROM materia "
Rst.Open StrSql, Cnn

'scandisco tutti i checkbox per vedere quali ho selezionato prima e che quindi devo cancellare.
IndiceChk="0"
Do While CLng(IndiceChk) <= CLng(Rst("Massimo"))
If Request(IndiceChk) = "on" then
cnn.execute ("INSERT INTO riepins (idmate, idins) values (" & IndiceChk & "," & idins & " );" )
%>
<script language="JavaScript">
alert("Operazione eseguito")
</script>
<%
end if
IndiceChk = Cstr(CLng(IndiceChk)+1)
loop
Rst.Close

insegnante = request("id")
%>
86 messaggi dal 22 agosto 2001
Do While CLng(IndiceChk) <= CLng(Rst("Massimo"))

L'errore sta nelle condizioni del do while.
Non puoi richiamare un campo del recordset se il record set è vuoto.
Infatti tu chiedi di prelevare qsa da un oggetto vuoto, o che ha già raggiunto EOF o BOF.

Per cui prova questa condizione prima

if not Rst.EOF and not Rst.BOF then
Do While CLng(IndiceChk) <= CLng(Rst("Massimo"))
...
loop
end if


Ciaooo


Rossetti Carlo
http://www.folklore.it


"Nulla è impossibile per colui che non deve farlo"
265 messaggi dal 28 aprile 2001
Ciao,
secondo me' ...
<b>If Request(IndiceChk) = "on" then
cnn.execute ("INSERT INTO riepins (idmate, idins) values (" & IndiceChk & "," & idins & " );" )
%&gt;
&lt;script language="JavaScript"&gt;
alert("Operazione eseguito")
&lt;/script&gt;
&lt;%
end if
IndiceChk = Cstr(CLng(IndiceChk)+1)
loop
Rst.Close

insegnante = request("id")
%&gt;
</b>
questo blocco di istruzioni; e lo script in Javascript non sono compatibili, o perlomeno non riesco a capire il funzionamento dello script.
Tieni presente che se ad ogni inizio di pagina asp, tra i tag "&lt;%" non imposti il comando Language=Javascript, il server interpreta la pagina con codifica di default che sarebbe VBscript o Jscript. Nel tuo caso non hai messo niente pertanto il server inposta VBscript.
Ripeto io darei una occhiata al codice che ti ho evidenziato; e non capisco l'utilita' dello script in javascript (logicamente c'e' ... se l'hai messa !!!)


Filippo

Non dir di me' se di me' non sai, pensa di te ... e poi di me' dirai.

Autore (sottoscritto)

Non dir di me' se di me' non sai, pensa di te ... e poi di me' dirai.

Autore (sottoscritto)
63 messaggi dal 06 settembre 2002
allora... ho cambiato il codice in questa maniera ma non funziona:

&lt;!-- #include file="../inc/apridb.inc"--&gt;
&lt;%

strsql= "select * from docente where nome like '" & request("id") & "'"
Rst.Open StrSql, Cnn
dim idins
setidins = rst("iddocente")
rst.close


StrSql = "SELECT max(idmateria) as Massimo FROM materia "
Rst.Open StrSql, Cnn

'scandisco tutti i checkbox per vedere quali ho selezionato prima e che quindi devo cancellare.


IndiceChk="0"
if not Rst.EOF and not Rst.BOF then
Do While CLng(IndiceChk) &lt;= CLng(Rst("Massimo"))
If Request(IndiceChk) = "on" then
cnn.execute ("INSERT INTO riepins (idmate, idins) values (" & indiceChk & "," & idins & ");" )
%&gt;
&lt;%
end if
IndiceChk = Cstr(CLng(IndiceChk)+1)
loop
Rst.Close
end if
insegnante = request("id")
%&gt;
86 messaggi dal 22 agosto 2001
Domanda: da' sempre lo stesso errore o ne genera uno nuovo?

PS: Se esegui la query direttamente nel DB che ti restituisce?

Ciaooo


Rossetti Carlo
http://www.folklore.it


"Nulla è impossibile per colui che non deve farlo"
63 messaggi dal 06 settembre 2002
da sempre lo stesso errore; ho provato a sostituire valori numerici e funziona, l'errore è nel "idins", è quel parametro che mi da problemi.
358 messaggi dal 05 marzo 2001
A mio parere, l'errore è qui:

Rst.Open StrSql, Cnn
dim idins
<b>--&gt; set idins = rst("iddocente")</b>
rst.close

la keyword Set si usa con gli oggetti, ma tu stai facendo l'assegnazione di un campo del recordset (quindi una semplice variabile)

soluzione:
<b>idins = rst("iddocente")</b>




A.Paterno
Il =:P ianista
'Ascolta Mozart mezz'ora al giorno e ti toglierà il "magone" di torno'
63 messaggi dal 06 settembre 2002
ho provato, ma in quel caso anche se uso la if prima del while, mi dice che il recordo non è quello corrente e mi genera l'errore...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.