pb avec update

pb avec update - ASP - Programmation

Marsh Posté le 21-07-2004 à 11:34:04    

Bonjour, je me suis insit=rée de la source de Moj9 pour faire une mise à jour sur ma base Mais j'ai une erreur du type
Cette opération n'est pas autorisée si l'objet est fermé.  
Voici le sript si qq1 sait Merci
 
'création de l'objet de connection
Set oConn = Server.CreateObject("ADODB.connection" )
 
'Chaine de connection
ChConn = "DSN=formation"
 
'Connection à la base de données
oConn.Open ChConn
 
'Ecriture de la requete pour la table  
 sql = "update tblETABLISSEMENTS "
   sql = sql & "SET Etablissements= '" & request("nom" ) &"',"
   sql = sql & "Adresse ='" & Request("adresse" ) & "',"
   sql = sql & "WHERE  tblETABLISSEMENTS.Idetablissements =CLng('" & request.querystring ("Id" ) & "')"
     
'Création du RecordSet
Set oRst = Server.CreateObject("ADODB.Recordset" )
 
'Surveillance des erreurs
On Error Resume Next
 
'Ouverture du recorset et execution de la requete sql
oRst.Open sql,oConn  
 
'Fermeture et destruction du recordset
oRst.close
Set oRst = Nothing  

Reply

Marsh Posté le 21-07-2004 à 11:34:04   

Reply

Marsh Posté le 21-07-2004 à 11:39:39    

A priori tu as un objet qui n'a pas été créé corectement
Je pencherai pour le Recordset qui n'as pas pu etre ouvert parce que ta connection a merdé. Donc effectivement au moment ou tu essaye de fermer ton recordset vu qu'il n'est pas ouvert tu as un message !
Essaye de te connecter autrement que par un DNS

Reply

Marsh Posté le 22-07-2004 à 10:36:01    

as tu fais Set oRst = Server.CreateObject("ADODB.Recordset" ) ?
 
Sinon on error resume next est tres dangeureux si tu ne traite pas les errreurs derrière!
par exemple j'ai des trucs du style :(Err.number, Err.description) avec     <%
      Dim err
      Set err = Server.GetLastError()
    %>
PS: si tu veux que je te file mon kit de déboggage, je peux (il n'est parfois que très peu explicite mais bon il permet de lever qq erreurs)
Ennfin je te conseil d'utiliser <%Option Explicit%> en début de code, ca évite qq m***e :}

Reply

Marsh Posté le 22-07-2004 à 12:02:59    

Arrêtez de faire de CURSEURS pour éxécuter une requête MUETTE :o
 
oConn.Execute sql
 
Ca marchera aussi bien (si ce n'est mieu), sera plus rapide (pas besoin d'instancier un objet inutile) et bien plus lisible dans le code :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed