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