16 messaggi dal 26 luglio 2002
Salve a tutti sto cercanto di creare una form di inserimento dati su db access

come form provvisoria sto utilizzando questa....
*****************form**********************
<html>
<body>
<form method="POST" action="inserisci.asp">
vettore<input type="text"
name="vettore" size="20"></p>
data<input type="text"
name="data" size="20"></p>
nome<input type="text"
name="nome" size="20"></p>
<input type="submit" value="Invia"
name="x"></p>
</form>
</body>
</html>


e come pagina che cattura i dati e li "scrive" su db questa.....
*****************inserisci.asp***************
<%
a=request.form("vettore")
b=request.form("data")
c=request.form("nome")
'apro la connessione
set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/L&F.mdb")
Set rs=server.CreateObject("ADODB.Recordset")
rs.Open "repro",OBJdbConnection,3,3
rs.AddNew
rs("vettore")=a
rs("data")=b
rs("nome")=c
rs.update
rs.Close
OBJdbConnection.Close
%>

il prblema è proprio questo non scrive....e mi rilascia questo errore....


Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access] Impossibile aggiornare. Database o oggetto di sola lettura.
/intranet/include/inserisci.asp, line 14


Tipo di browser:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)

Pagina:
POST 39 bytes to /intranet/include/inserisci.asp

POST Data:
vettore=fbh&data=dfb&nome=dfbdf&x=Invia

*************************************
il tutto sta girando in locale riesco a leggere dal db a filtrare a cercare i dati ed ordinarli ma non riesco a scrivere....
please help me!!!

***ANVEDI KE CIELO, ME PARE QUELLO DE WINDOV 95!***
18 messaggi dal 04 giugno 2003
Prova a sostituire alla sequenza di add.new rs(0)=.....

un stringa sql del tipo

Insert Into nome.Tabella (Campo1, campo2, ....) Values (prino malore, secondo valore, .....)

se hai difficoltà fammi sapere che tra un paio d'ore vado in pausa e ti posto una routine (spero funzionante)

se però cerchi sul forum trovi la soluzione prova a cercare proprio per
"insert into"
16 messaggi dal 26 luglio 2002
In giro sul web si imputa il problema ai didiritti di scrittura...
come risolvo?

***ANVEDI KE CIELO, ME PARE QUELLO DE WINDOV 95!***
18 messaggi dal 04 giugno 2003
Prima una domanda
Stai provando in locale o su un server esterno di un provider tipo aruba, register ?

se stai lavorando con un provider il database deve stare obbligatoriamente nella cartella indicata Aruba ==> mdb-database

se lavori sul tuo PC o su un tuo server la cartella in cui intendi mettere il DB deve avere l'utente anonimo del domino con i diritti di scrittura, lettura, modifica
di solito l'utente anonimo è IWAM_nomemacchina

vai sulla cartella interessata
tasto destro proprietà
protezione aggiungi utente IWAM_nomemacchina
dagli tutti i diritti

in ogni caso io poi farei così
e utilizzerei la stessa routine per tutto
inserimento, modifica, aggiornamento
con piccola modifica anche la ricerca e visualizzazione dei dati letti

<%
' ================================================================
' Con questa routine puoi eseguire qualunque stringa query valida
' perciò puoi eseguire sia un inserimento
' sia un aggiornament
' sia una cancellazione
' basta passare una sqlquery valida
' ================================================================

Dim rs 'recordset
Dim sConn 'stringa di connessione
Dim cn 'connessione
Dim SqlString 'stringa query da eseguire
Dim DbName 'Nome e posizione del database

a=request.form("vettore")
b=request.form("data")
c=request.form("nome")


sqlquery=""
sqlquery="INSERT INTO repro (Vettore, Data, nome ) values ('" & a & "','" & b & "','" & C "';")


' ================================================================
' Ho supposto che tutti i campi siano tipo testo
' se vuoi inserire numer togli gli apici esempio se a è numerico trasforma
' values (" & a & ",'" & b & "','" & C "';")
' se hai la possibilità prova prima la stringa con access
' le date hanno bisogno dei #
' un eventuale campo di nome password
' va inserito tra parentesi quadre sqlquery="INSERT INTO repro ([Password],
' ================================================================

' setta le variabili ADODB
Set rs = Server.CreateObject("ADODB.Recordset")
Set cn = Server.CreateObject("ADODB.Connection")

DbName = Request.ServerVariables("APPL_PHYSICAL_PATH") & "\database\L&F.mdb"
sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBName & ";Mode=Share Deny None"

' Apri la connessione al DB
cn.CursorLocation = adUseClient
cn.Open sConn
' Esegui il comando della query
cn.Execute (sqlquery)

'chiudi la connessione al database
rs.Close
cn.close
Set rs = Nothing
Set cn = Nothing

%>
Modificato da deta il 03 novembre 2007 12.56 -
Modificato da deta il 03 novembre 2007 13.02 -
16 messaggi dal 26 luglio 2002
Tutto deve girare sul mio pc con IIS e windowxp pro


proverò a studiare il fattore diritti di scrittura il fatto che ho buttato pagine e pagine di script con lo stesso errore e magari lo script era pure giusto....

proverò anche il tuo script
grazie per l'aiuto

***ANVEDI KE CIELO, ME PARE QUELLO DE WINDOV 95!***
16 messaggi dal 26 luglio 2002

TUTTO OK RAGAZZI FUNZIONA TUTTO!!!!!!!
.....SOLO UN PROBLEMA DI AUTH A SCRIVERE SU DB....
....STA TUTTO SUL SETTAGGIO DI IIS..........
GRAZIE A TUTTI X L'AIUTO!!!!!
ALLA PROX.....

***ANVEDI KE CIELO, ME PARE QUELLO DE WINDOV 95!***

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.