12 messaggi dal 02 settembre 2005
vorrei inserire nel mio sito un sondaggio, ma mi viene
dato il seguente errore:

Tipo di errore:
Microsoft JET Database Engine (0x80040E09)
Impossibile aggiornare. Database o oggetto di sola lettura.

Ecco il codice.

Form del sondaggio:
<form method="post" action="sondaggio.asp">
<input type="radio" name="voto" value="primo"><font 
face="Verdana" size="2">scarso</font>
<input type="radio" name="voto" value="secondo"><font face="Verdana" size="2">sufficiente</font>
<input type="radio" name="voto" value="terzo"><font 
face="Verdana" size="2">buono</font><br>
<input type="submit" value="Vota"><br>
</form>


Sondaggio.asp:
set dbconn=server.createobject("adodb.connection")
dbconn.open "provider=microsoft.jet.oledb.4.0; data 
source=" & server.mappath("utenti.mdb")
'apre la connesssione al db per aggiungere il voto(se si 
sta votando)
if request.form("voto")<>"" then
set rs=server.createobject("adodb.recordset")
seleziona="SELECT * FROM sondaggio"
rs.open seleziona,dbconn,adOpenStatic,adLockOptimistic

'aggiunge il voto al db
rs.addnew
rs("voto")=request.form("voto")
'aggiorna il db e chiude la connessione
rs.update
rs.close
end if

'apre la connessione al db per vedere se ci sono voti
set rs=server.createobject("adodb.recordset")
seleziona="SELECT COUNT(*) FROM sondaggio"
rs.open seleziona,dbconn,adOpenStatic,adLockOptimistic
'non ci sono voti
if rs(0)=0 then
rs.close
%>
<p><b><font face="Verdana" size="4">Nessun voto presente!</font></b></p>
<%'ci sono voti
else
%>
<p><b><font face="Verdana" size="4">Ecco i risultati del sondaggio</font></b></p>
<%'preleva il numero di voti alla prima risposta
set rs=server.createobject("adodb.recordset")
seleziona="SELECT COUNT(*) FROM sondaggio WHERE 

voto='primo'"
rs.open seleziona,dbconn,adOpenStatic,adLockOptimistic
'restituisce il numero dei voti
vprimo=rs(0)
rs.close

'preleva il numero di voti alla seconda risposta
set rs=server.createobject("adodb.recordset")
seleziona="SELECT COUNT(*) FROM sondaggio WHERE 

voto='secondo'"
rs.open seleziona,dbconn,adOpenStatic,adLockOptimistic
'restituisce il numero dei voti
vsecondo=rs(0)
rs.close

'preleva il numero di voti alla terza risposta
set rs=server.createobject("adodb.recordset")
seleziona="SELECT COUNT(*) FROM sondaggio WHERE 

voto='terzo'"
rs.open seleziona,dbconn,adOpenStatic,adLockOptimistic
'restituisce il numero dei voti
vterzo=rs(0)
rs.close

'somma voti
totale=int(vprimo+vsecondo+vterzo)
'crea la percentuale dei voti
perc_primo=FormatPercent((vprimo/totale),1)
perc_secondo=FormatPercent((vsecondo/totale),1)
perc_terzo=FormatPercent((vterzo/totale),1)
'visualizza le percentuali
%>
Voti totali<%=totale%>
Scarso<%=perc_primo%>
Sufficiente<%=perc_secondo%>
Buono<%=perc_terzo%>
<%end if
dbconn.close
set dbconn=nothing
set rs=nothing
%>



c'è modo di risolvere questo problema?
grazie
225 messaggi dal 22 maggio 2001
Sei sicuro che il db risiede in una cartella dove hai i permessi corretti (controllare IIS su server) ?

Ciao
Andrea
12 messaggi dal 02 settembre 2005
Il db risiede in una directory con le seg. proprietà:

Provenienza del contenuto della risorsa in fase di connessione:nella directory selezionata

Percorso locale:
lettura
scrittura
registrazione visite
indicizza questa risorsa

Autorizzazioni di esecuzione:solo script

La versione di iis è la 5.1

Quali sono i permessi corretti?E come li controllo(con inetmgr?)
ciao Georges
91 messaggi dal 04 gennaio 2002
AD OCCHIO...rs.open seleziona,dbconn,adOpenStatic,adLockOptimistic
Il tipo di cursore non dovrebbe essere di tipo adDynamic per fare aggiornamento?
12 messaggi dal 02 settembre 2005
Ho inserito rs.open seleziona,dbconn,adOpenDynamic,ma mi vien dato il seguente errore:

ADODB.Recordset (0x800A0CB3)
Il set di record corrente non supporta l'aggiornamento. Potrebbe trattarsi di una limitazione del provider o del tipo di blocco selezionato.

Che significa?

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.