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 :

PB requete delete


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 24
    Points : 20
    Points
    20
    Par défaut PB requete delete
    bonjour a tous
    voici mon pb :

    je souhaite effacer un enregistrement de ma base en selectionnant dans ma page asp un numero qui me permetrait de supprimer la ligne de ma base.

    voici mon code :
    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
     
     
     
    <Select id="Num" name="Num">
    <%if (NumId = "All") then %>  
    <option selected="true" value="All" >Tous (N° )</option>
    <%else%>
    <option value="All" >Tous (N° )</option>
    <%end if%>
    <% Requete = ""	
    Requete = " SELECT Nom, Num"
    Requete = Requete & " FROM PROJET"
    Requete = Requete + " ORDER BY Num ASC"
    cmdArea.CommandText = Requete
       set ListeRecords = cmdArea.Execute
     
    do while not ListeRecords.eof %>
    <option value="<%=ListeRecords("Num")%>" <%if (NumId = ListeRecords("Num")) then%> selected="true"<%end if%>><% =ListeRecords("Num")%></OPTION>
    <%	ListeRecords.movenext 
    loop
    set ListeRecords=nothing %>
    </Select>
    </TD>
     
    	</TR>
    		<TR>
    		<TD align=center colspan=3><br><INPUT TYPE=BUTTON Value="Supprimer" OnClick="javascript:supprimer();" id=BUTTON1 name=BUTTON1></a></TD>
    		</TR>
    	</TABLE>
    	<%
    if Request.QueryString("action") = "supprimer" then
     
    cmdArea.CommandText = "DELETE FROM PROJET WHERE num= '"&Num&"' "
    cmdArea.Execute
     
    end if%>
    Malheureusement avec mon code rien en se passe .... l'enregistrement n'est pas supprimé de la bdd

    Merci de votre aide ^^

  2. #2
    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,

    cmdArea.CommandText = "DELETE FROM PROJET WHERE num= '"&Num&"' "
    C'est quoi ce Num ?

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    C'est le nom de son select.
    Il faudrait faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmdArea.CommandText = "DELETE FROM PROJET WHERE num= '" & request.form("Num") & "' " 
    cmdArea.Execute
    Ou alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmdArea.CommandText = "DELETE FROM PROJET WHERE num= " & request.form("Num") 
    cmdArea.Execute
    Si le champ "num" est effectivement un nombre.
    A+

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    merci de vos reponses

    j'ai un erreur :


    alors en faisant la 1ere methode rien ne s'efface de ma base

    mais en faisant la 2eme methode j'ai une erreur :

    Microsoft OLE DB Provider for SQL Server error '80040e14'
    Ligne 1 : syntaxe incorrecte vers '='.
    /test/Delete.asp, line 222

  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Quel est le typage de ton champ: texte ou nombre?

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmdArea.CommandText = "DELETE FROM PROJET WHERE num= " & request.form("Num")
    cmdArea.Execute
    ça marche ça ??

    la syntaxe est pas plutot comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmdArea.CommandText = "DELETE * FROM PROJET WHERE num= " & request.form("Num")
    cmdArea.Execute

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Tout à fait. Access supporte le "*", mais pas SQL server.

  8. #8
    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
    c'est bizarre c'est une norme sql donc elle devrait être prise en compte par tous les SGBD

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    alors le '*' ne fonctionne pas je vais essayer de mettre ts les champs apres le delete et on vera ce que ca donne

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    alors en fait ca doit venir de mon nom du select car quand je mets une valeur banale ca me delete ma ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmdArea.CommandText = "DELETE  FROM PROJET WHERE Num = '2005-00014' " 
    cmdArea.Execute
    ps: mon champs Num de la table projet est en varchar

    donc l'erreur doit venir de mon select ?

    en fait dans ma page
    je choisi une personne => ensuite ya les numeros qui lui st affectés => on clik sur supprimer => delete de la bdd

    je ne sais pas quoi faire la. le vide total :S

  11. #11
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par Pymm
    c'est bizarre c'est une norme sql donc elle devrait être prise en compte par tous les SGBD
    Access est très tolérant et la syntaxe SQL d'Access n'est pas tout à fait la mm que celle de SQL.
    Ceci doit normalement très bien fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmdArea.CommandText = "DELETE FROM PROJET WHERE num= '" & request.form("Num") & "'"
    cmdArea.Execute
    Inutile d'y ajouter des champs

  12. #12
    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
    Re,

    Qu récupères-tu en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.write "DELETE FROM PROJET WHERE num= '" & request.form("Num") & "' "

Discussions similaires

  1. Requete Delete à partir de deux tables
    Par Le_Phasme dans le forum Access
    Réponses: 2
    Dernier message: 09/10/2006, 11h22
  2. [Access 2003]Probleme type de donnée sur requete DELETE
    Par pottiez dans le forum Langage SQL
    Réponses: 12
    Dernier message: 09/08/2006, 10h39
  3. [requet delete] Probleme de suppression
    Par agougeon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/07/2006, 13h17
  4. probleme requete DELETE
    Par Ice-tea dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/06/2006, 14h47
  5. Requete DELETE un peu longue...
    Par Thierry8 dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/02/2006, 16h37

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