IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

problème pour updater une BD


Sujet :

ASP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut problème pour updater une BD
    Bonjour,

    je suis loin d'être une flèche en ASP et je n'arrive pas à updater ma BD

    En fait, je récupére une valeur modifiée dans un formulaire au préalable (etablissement).--> part1

    Cette valeur est plusieur fois dans ma BD mais avec un id unique. Je recherche ces différents id --> part2

    Je fais un while not pour parcourir ma colonne des id et récupérer tout les id où établissement est présent et dans la foulée, je cherche à updater autant de fois le champ AdminEtablissement qu'il y a de id par la variable etablissement (qui à été modifiée avant) --> part3

    Le script ne met aucune erreur, j'ai fait des test et les id sont bien présent. j'ai aussi vérifié et revérifié mes tables et il est censé updater au bon endroit.

    Bref, je ne vois pas d'où vient l'erreur.

    Merci d'avance pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <%
    'PART1
     
    etablissement = request.QueryString("etablissement")
     
     
    Set ConGR = Server.CreateObject("ADODB.Connection")
    Set rst = Server.CreateObject("ADODB.Recordset")
    Set Rs = Server.CreateObject("ADODB.Recordset")
     
    conGR.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../")&"/Databases/GR.mdb;"
     
    'PART2
    Sql="Select id From exploitation where AdminEtablissement='" & etablissement & "'"
    rst.Open Sql, ConGR, 3, 3
     
    'PART3
    while not rst.eof
    	  			response.Write(rst("id")&",")
    				sId = rst("id")
    				sId = cLng(sId)
    				RequeteSQL = "Update Exploitation Set AdminEtablissement='"&etablissement&"' WHERE id= "&sId&";"
    				Rs.Open RequeteSQL , conGR
    			rst.moveNext
    			  wend%>

  2. #2
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut Re: problème pour updater une BD
    Citation Envoyé par yoda_style
    En fait, je récupére une valeur modifiée dans un formulaire au préalable (etablissement).--> part1
    Dans ton code tu fait un request.querystring() pour récupérer une valeur d'un formulaire , ca serait pas plutot un request.form() ??

    Sinon le reste ca m'a l'air correct !!

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    C'est vrai, mais je ne sais pas pourquoi, mais quand je fais un request.form, il ne prends pas les champs. Par contre, comme la page précédente est un formulaire et que je l'envoi, tout passse par URL et je fais le request.querystring pour les récupérer comme l'autre méthode ne fonctionne pas.

    Je sais c'est bizarre, je ne me l'explique pas non plus.
    Cela dit, la variable etablissement n'est pas vide et renferme la valeur du champ du formulaire correctement formatée

  4. #4
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    bizarre l'histoire de ton request.form qui ne fonctionne pas.. mais moi je ferais comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <% 
    'PART1 
    etablissement = request.QueryString("etablissement") 
     
    Set ConGR = Server.CreateObject("ADODB.Connection")  
    conGR.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../")&"/Databases/GR.mdb;" 
     
    'PART2 
    Sql="Select id From exploitation where AdminEtablissement='" & etablissement & "'" 
    set rst = conGR.execute(sql)
     
    'PART3 
    do while not rst.eof 
    	sId = rst("id") 
    	sId = cLng(sId) 
    	RequeteSQL = "Update Exploitation Set AdminEtablissement='"&etablissement&"' WHERE id= " & sId
    	conGR.execute(sqlRequeteSQL)
    rst.moveNext 
    Loop%>
    Pis t'es sur que tu n'a aucun message d'erreur ?? il t'affiche une page blanche ou koi ?

    ++

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Juste un petit commentaire :

    Request.Form permet de récupérer les valeurs d'un formulaire via la méthode POST. Cad, un formulaire avec Action="Page2.asp" et un submit

    Request.QueryString pour récupérer des valeurs passées par l'Url. Cad href="Mapage.asp?Val1=1&Val2=2 ...

    Sinon, à la place de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Rs.Open RequeteSQL , conGR
    Essaie un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    conGR.Execute(RequeteSQL)

  6. #6
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    MAAAAAAAH,

    ça ne peut pas marcher mon truc, si je me base sur la variable modifiée pour trouver mes id.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sql="Select id From exploitation where AdminEtablissement='" & etablissement & "'"
    Si la variable n'est pas modifiée en amont, il me trouve des id, mais update la même valeur. Par contre, si la variable à été modifiée, il ne trouve pas d'id et par conséquent n'update pas


    HUM,

    Comment je peux faire maintenant ?

  7. #7
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    :trouve:

    Merci, mais j'ai trouvé, c'était bien ça. J'ai mis en champs caché la valeur établissement et je me base sur elle pour chercher mes id

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <%
    etablissement = request.QueryString("etablissement")
    etablissement_cache = request.QueryString("etablissement_cache")
     
    Set ConGR = Server.CreateObject("ADODB.Connection")
    Set rst = Server.CreateObject("ADODB.Recordset")
    Set Rs = Server.CreateObject("ADODB.Recordset")
     
    conGR.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../")&"/Databases/GR.mdb;"
     
    Sql="Select id From exploitation where AdminEtablissement='" & etablissement_cache & "'"
    rst.Open Sql, ConGR, 3, 3
     
    while not rst.eof
    	  			response.Write(rst("id")&",")
    				sId = rst("id")
    				sId = cLng(sId)
    				RequeteSQL = "Update Exploitation Set AdminEtablissement='"&etablissement&"' WHERE id= "&sId&";"
    				Rs.Open RequeteSQL , conGR
    			rst.moveNext
    			  wend%>
    Merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/12/2004, 19h01
  2. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 02h05
  3. [DLL] problème pour appeler une fonction d'une DLL
    Par bigboomshakala dans le forum MFC
    Réponses: 34
    Dernier message: 19/07/2004, 12h30
  4. [MSSQL] Problème pour sélectionner une seule occurence
    Par Tinfolley dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/07/2004, 10h02
  5. Réponses: 3
    Dernier message: 29/08/2003, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo