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 :

DELETE qui ne fonctionne pas


Sujet :

ASP

  1. #1
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut DELETE qui ne fonctionne pas
    Bonjour. Tout est dans le titre.

    J'ai une fonction suppression qui ne supprime pas dans ma table.
    Elle n'a qu'un champ, le champ Nom.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <%@ Language="VBScript"%>
    <% option explicit%>
    <%	Dim data1
    	data1=replace(Request.Form("data1"),".",",")
     
    				Dim str
    				Dim cnBD
    				Dim strSuppr
    				Dim objRs
    				Dim test
    				test=0
     
                     str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
    				strSuppr="DELETE ChefEquipe.Nom From ChefEquipe"
     
    				set cnBD =Server.CreateObject("ADODB.Connection")
     
    				Set objRs = Server.CreateObject("ADODB.Recordset")
     
    				cnBD.Open str
     
    				objRs.Open "SELECT Nom From ChefEquipe", cnBD
    				Do While (test = 0 And Not objRs.EOF)
    								        If data1= objRs("Nom") Then
    								                test = 1
    								            End If
    								         objRs.movenext
        			Loop
     
        			if test = 1 Then
     					cnBD.Execute (strSuppr)
    				End if
    				objRs.Close
    				set objRs=nothing
     
    				cnBD.Close
    				set cnBD=nothing
     
    				Response.Redirect"menuGeneral.html"
     
    	%>
    et le formulaire où je récupère la donnée à supprimer:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
    <HTML>
    <HEAD>
    <TITLE>Suppression de Chefs d'Equipe</TITLE>
    <META NAME="Generator" CONTENT="TextPad 4.4">
    <META NAME="Author" CONTENT="?">
    <META NAME="Keywords" CONTENT="?">
    <META NAME="Description" CONTENT="?">
    <LINK REL="stylesheet" HREF="Couleur.css" TYPE="text/css">
        <link rel="stylesheet" type="text/css" href="menussjava.css" title="défaut">
    <style type="text/css" media="print">
    .noseeme {visiblity: visible}
    .seeme {display : none}
    </style>
    <style  type="text/css" media="screen">
    .noseeme {display: none}
    .seeme {visibility: visible}
    </style>
    <!-- #include file="menuGeneralSquelette.html" -->
     
    </HEAD>
     
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">
    <%@ Language="VBScript"%>
     
    <div class="content">
    <H3>Suppression de Chefs d'équipe</H3>
    <br><br></br></br>
     
    <FORM name="SupprChefEquipe" method="post" action="SupprimerChefEquipe.asp">
     
     
    <TABLE ALIGN="left" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="30%">
    <TR>
    <td><b>Nom du Chef d'Equipe&nbsp;:</b></td><td><div align=left><%
    Dim str
    Dim cnBD
    Dim RS
    Dim sql
     
    str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
    Set cnBD = Server.CreateObject("ADODB.Connection")
      cnBD.Open str
       set RS = server.CreateObject("ADODB.RecordSet")
       sql = "SELECT  * FROM ChefEquipe"
       RS.open sql, cnBD
      %>
      <SELECT name="type">
       <%
          do while not RS.eof
       %>
       <OPTION value="<% response.Write(trim(RS("Nom"))) %>"><% response.Write(RS("Nom")) %></OPTION>
       <%
             RS.movenext
          loop
          RS.close
          set RS = nothing
          cnBD.close
          set cnBD = nothing
       %>
      </SELECT></td>
    </TR>
    </table>
     
    <br></br>
    <br></br>
     
    <INPUT type="submit" value="Supprimer" name="btnSubmit">
     
    </FORM>
    </div>
     
    </BODY>
    </HTML>

    Quelqu'un voit pourquoi?

    Et comment fait-on pour choisir plusieurs noms à supprimer dans le SELECT?
    ours ours !! Au début elle est froide mais après elle est bonne!

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

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

    As tu vérifié que tu passes bien dans ce if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                 if test = 1 Then 
                    cnBD.Execute (strSuppr) 
                End if
    Et comment fait-on pour choisir plusieurs noms à supprimer dans le SELECT?
    Dans ta balise select, tu ajoutes l'attribut "multiple" et ton request.form("data1") récupèrera un tableau des noms.

  3. #3
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Merci pour le multiple.

    Je vais tester sans faire de if mais c'est bizarre vu que je choisis des élémants de ma table.
    ours ours !! Au début elle est froide mais après elle est bonne!

  4. #4
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    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
    26
    27
    28
    29
    30
    <%@ Language="VBScript"%>
    <% option explicit%>
    <%	Dim data1
    	data1=Request.Form("data1")
     
    				Dim str
    				Dim cnBD
    				Dim strSuppr
    				Dim objRs
    				Dim test
    				test=0
     
                     str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
    				strSuppr="DELETE '"&data1&"' From ChefEquipe"
     
    				set cnBD =Server.CreateObject("ADODB.Connection")
     
    				Set objRs = Server.CreateObject("ADODB.Recordset")
     
    				cnBD.Open str
     
    				cnBD.Execute (strSuppr)
     
    				cnBD.Close
    				set cnBD=nothing
     
    				Response.Redirect"menuGeneral.html"
     
    	%>
    J'ai modifié mais le problème c'est que çà m'efface tout maintenant!
    ours ours !! Au début elle est froide mais après elle est bonne!

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    testes ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSuppr="DELETE * From ChefEquipe where nom='"&data1&"';"

  6. #6
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    çà ne supprime plus rien avec cette modif
    ours ours !! Au début elle est froide mais après elle est bonne!

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Je récapitule pour être sur d'avoir tout compris :
    tu as une table qui ne contient qu'un champ Nom
    et tu cherches à supprimer 1 ou plusieurs Nom de cette table.
    La variable data1 représente le Nom a effacer ?

  8. #8
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Oui oui.

    Pour faire çà il faut bien un formulaire dans lequel j'appele ma fonction supprimer.asp?

    Je vois pas trop où çà foire surtout que j'ai viré le test d'existence de l'enregistrement à effacer.
    ours ours !! Au début elle est froide mais après elle est bonne!

  9. #9
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    testes ça :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    <%@ Language="VBScript"%>
    <% option explicit%>
    <%   Dim data1
            data1=Request.Form("data1")         
                Dim str
                Dim cnBD
                Dim strSuppr
                Dim objRs
                Dim test
                test=0
     
                     str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
                strSuppr="SELECT * From ChefEquipe WHERE Nom='"&data1&"';"
     
                set cnBD =Server.CreateObject("ADODB.Connection")
     
                Set objRs = Server.CreateObject("ADODB.Recordset")
     
                cnBD.Open str
     
                cnBD.Execute (strSuppr)
                If Not cnBD.EOF Then
                   cnBD.delete
                Else
                    Response.Write "Pas d'enregistrement" & chr(10)
                End If
                cnBD.Close
                set cnBD=nothing
     
               ' Response.Redirect"menuGeneral.html"
     
       %>

  10. #10
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    En fait je viens de trouver l'erreur.

    En faisant mes copier/coller je me suis gourré mon select s'appeler Type et pas data1 donc fatalement.

    Merci pour ton aide.
    ours ours !! Au début elle est froide mais après elle est bonne!

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

Discussions similaires

  1. Delete qui ne fonctionne pas
    Par sam01 dans le forum Requêtes
    Réponses: 6
    Dernier message: 31/08/2010, 17h14
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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