2.584 messaggi dal 14 maggio 2001
Questa riga secondo me è sbagliata:
Set RSConn = CreateObject("ADODB.Connection")

RSConn è un recordset non è una connessione
Comunque anche su:
http://www.aspitalia.com/articoli/db/ole-db.aspx
inserisce questa riga.

La chiamo ovviamente in modo diverso!

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
2.584 messaggi dal 14 maggio 2001
Scusa ma ti riferisci a:
Set objRS = Server.CreateObject(ADODB.Recordset)
Esatto, però solo ora mi sono accorto della differenzuola "server".
Cmq NON funzionaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
MAMMMA che male di testa!

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
2.584 messaggi dal 14 maggio 2001
C'è anche la differenza di:
ADODB.Recordset

rispetto a:
ADODB.Connection
Scusa me ne ho bisogno anche solo per aggiornare???

Faccio della mia ignoranza una virtù per stimolare il cervello con soluzioni alternative.
......LELO
2.584 messaggi dal 14 maggio 2001
Non importa che tipo di Sql gli passi ma se gli fai fare il lavoro del recordset alla tua variabile RSConn non puoi poi definirla di tipo connection...
E' come se a una variabile data gli dici che è un numero..
879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao,
secondo me, il codice che hai va bene, solo che devi aggiungere la gestione delle transazioni per la tua connessione, se proprio vuoi usarle. Nel tuo caso non e' necessario usare le transazioni perche' non hai piu' di un'operazione sul DB (tipo una update e una delete)... per cui se la tua unica UPDATE va in errore si ferma e basta... non hai bisogno di fare il Rollback per tornare indietro.
Comunque, se vuoi usare le transazioni devi fare cosi':
<% 
Dim RSConn 
Dim dbConnection 
dbConnection = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("../db/users.mdb") 
'dbConnection = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/users.mdb") 
Set RSConn = CreateObject("ADODB.Connection") 
RSConn.Open dbConnection 

RSConn.BeginTrans ' <---- Attiva le transazioni

sql = "UPDATE users SET qualifica = Replace([qualifica], ' ', '_')" 
RSConn.Execute sql

if RSConn.Errors.Count > 0 then 

RSConn.RollbackTrans
numero_errore = err.number 
descrizione = err.description 
risorsa = err.source 
Response.Write "Errore riscontrato:<br>"&_ 
numero_errore &"<br>"&_ 
descrizione &"<br>"&_ 
risorsa 
else

RSConn.CommitTrans   '<---- Se tutto va bene devi fare il commit

Response.Write "OPERAZIONE RIUSCITA" 
end if 
RSConn.close 
Set RSConn = Nothing 
%>


Diciamo poi che se un oggetto lo chiami "RSConn" suona come un oggetto "ibrido" perche' e' a meta' tra un cursore (RS dovrebbe stare per RecordSet) e una connessione "Conn"... e quindi potrebbe confonderti all'interno del codice. Ti consiglio quindi di usare dei nomi piu' "significativi" (Es. objConn per l'oggetto della connessione al DB)...

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it

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.