ho scritto questo codice asp per ottenere il l'inserimento dei un nuovo record nella tabella operations.codice:<% var con; var conString; con = Server.CreateObject("ADODB.Connection"); conString = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" +Server.MapPath("payments.mdb"); con.Mode = adModeReadWrite; con.Open(conString); var strUser; rst = Server.CreateObject("ADODB.Recordset"); strUserPage = Request.Cookies("EasyPay")("nick"); sSQLString = "SELECT deposit FROM users WHERE nick='"+strUserPage+"'"; rst = con.Execute(sSQLString); rst2 = Server.CreateObject("ADODB.Recordset"); rst2.Open("operations",conString,adOpenDynamic,adLockPessimistic); rst2.AddNew(); rst2("src") = "cash"; rst2("dst") = String (Session("nick")); rst2("amount") = Request.QueryString("deposita"); rst2.Update(); rst2.Close(); con2.Close( ); rst2= null; con2 = null; rs.close(); rst = null; con.close(); con = null; %>
la prima parte di codice mi serve per sapere i soldi sul conto quindi il recordset rst contiene il deposito dell'utente corrente.
la seconda mi permette di aggiungere un record (precisamente è una operazione si deposito sul proprio conto) alla tabella operations che serve per tenere traccia dei movimenti effettuati...i dati arrivano da una altra pagina correttamente collegata a questa.
ora il mio problema è che quando provo ad effettuare un deposito mi da questo errore
Tipo di errore:
Microsoft JET Database Engine (0x80040E09)
Impossibile aggiornare. Database o oggetto di sola lettura.
/Lioy/Deposita.asp, line 30
dove la linea 30 è rst2.AddNew();
quale può essere il problema?
sono i diritti di scrittura o è un problema del mio codice?
ho provato in tutti i modi a impostare i diritti di scrittura ed ho controllato che il database è ad accesso condiviso... io comunque la lettura riesco a farla ed è corretta, ma la scrittura non va
qualche idea?
magari mi potete dare una guida su come si impostano una volta per tutti i diritti sulla cartella?
oppure è un errore del mio codice?
grazie a tutti

Rispondi quotando