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 :

Je ne parviens pas à supprimer un enregistrement dans ma base de données


Sujet :

ASP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Je ne parviens pas à supprimer un enregistrement dans ma base de données
    Bonjour,

    Je cherche a effacer une ligne de ma base avec ce script, et je n'y arrive pas, je suis tres debutant qui peut me trouver la ou les erreurs.. en m'expliquant ???

    10000 Merci

    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
    <% 
    Dim Connection, ConnectionString
    Dim Liste
     
    Dim SQLQuery
    Set Connection = Server.CreateObject("ADODB.Connection")
    ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                  "Data Source=" & Server.MapPath("\faridbajjou\db\export.mdb") & ";" & _
                  "Persist Security Info=False"
    Connection.Open(ConnectionString)
    Set Liste = Server.CreateObject("ADODB.Recordset")
     
    if Request.queryString("Service") <> "" then
    VA = "('" & Request("Service") & "'," & Request("Code") & "," & Request("Prix") & ")"
    SQLQuery = "DELETE FROM produits WHERE (Service,Code,Prix) VALUES " & VA
    Set Liste = Connection.Execute(SQLQuery)
       message="Service <b>" & Request.queryString("Service") _
          & "</b> supprimé !"
    end if
     
    Err.Clear
    On Error Resume Next
    Connection.Execute(SQLQuery)
     
     
    'Response.Write("<BR>" & Err.NativeError & "<BR>")
    'Response.Write("<BR>" & Err.SQLState & "<BR>")
    'Response.Write("<BR>" & Err.Source & "<BR>")
    'Response.Write("<BR>" & Err.Description  & "<BR>")
     
     
    	Connection.close
    	Set Liste=Nothing
    	Set Connection=Nothing
    	Set SQLQuery=Nothing 
    	response.redirect "affliste.asp"
    %>

  2. #2
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 97
    Points : 89
    Points
    89
    Par défaut
    Bonjour,

    On Error Resume Next c'est bien mais faut faire attention avec ça
    Je te propose de le mettre en commentaire pour voir si tu as d'autres message d'erreur en plus que ceux que tu affiches

    Pour le traitement des erreurs, si tout ton code est dans une fonction, tu peux faire ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Function ...(...)
    	On Error Resume Next
    	...
    	If Err.Number <> 0 Then
    		response.Write("<br>Number:" & Err.Number & "<br>Description:" &     Err.Description & "<br>Source:" & Err.Source & "<br>")
    	End If
    End Function



    Au niveau de ta requète SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLQuery = "DELETE FROM produits WHERE (Service,Code,Prix) VALUES " & VA
    Je ne connaissais pas cette synthaxe dans la clause WHERE, tu est certain de celle-ci ?
    Essaie un peu ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLQuery = "DELETE FROM produits WHERE Service= " & Request.querystring("Service") & " AND Code= " & Request.querystring("Code") & " AND Prix= " & Request.querystring("Prix") & ";"
    Il y a des erreurs ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if Request.queryString("Service") <> "" then
    VA = "('" & Request("Service") & "'," & Request("Code") & "," & Request("Prix") & ")"
    ...
    ça devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if Request.queryString("Service") <> "" then
    VA = "('" & Request.queryString("Service") & "'," & Request.queryString("Code") & "," & Request.queryString("Prix") & ")"
    ...
    Pour tester, n'hésite pas non plus afficher certaines variables ou ta requête SQL par exemple, ainsi tu peux la copier et l'exécuter directement dans le DBMS pour être certain qu'elle est correcte

    A l'avenir, n'oublie pas d'utiliser les balises CODE

    le "...O Secour" dans le titre n'est pas indispensable, certaines personnes zappent directement le message à cause de cela

    Bon journée,

    Phil

  3. #3
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Slt,

    Rajoute * si tu veux effacer toute la ligne

    Ce qui donne : Delete * From ....
    et n'indique pas tout les champs de la table il te suffit juste de récuperer l'index qui correspond à ta ligne genre le champ qui correspond à ta clé primaire

    par exemple un numéro de licence dans un sport est forcément unique un numéro de licence de peut pas etre attribué à deux joueurs.

    En gros sa te donnerais ceci :
    Delete * From Service where id="& Request.form("index") &""

    (form c'est si tu utilise la method post dans ton cas c querystring )


    Où id est en hidden si jamais tu fais affiché tes valeurs dans ta page ou tu montre les valeurs de la ligne à effacer


    ++
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

Discussions similaires

  1. enregistrement dans la base de donnée
    Par car00x dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/11/2006, 18h28
  2. Réponses: 1
    Dernier message: 30/07/2006, 20h02
  3. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  4. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  5. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20

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