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 d'ajout dans une base de donnée


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut pb d'ajout dans une base de donnée
    Bonjour a tous,

    Voila, j'aimerai ajouter une ressource a ma table et ne pas avoir deux fois la même ressource dans ma table c'est a dire que j'aimerai recupérai tous les champs de ma table et de les comparais aux information que je veux ajouter .

    voila mon code :
    <!--#include file="connection.asp" -->
    <%

    sql = "Select * From ressources Where resume like '%" & request.form("t_verif_resume") &"%' and auteur like '%" & request.form("t_nom_auteur") &"%' and niveau like '%" & request.form("t_verif_niveau") &"%' and intitule like '%" & request.form("t_verif_intitule") &"%' "
    set rs = conn.execute(sql)

    %>
    <div align="center">
    <table width="300" border="0">
    <tr>
    <%Do while not rs.eof%>
    <td><b><font>
    <b><font><a href='<% =rs("adresse_url") %>'><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" color="#0000FF" size="2"><b><% =rs("adresse_url") %></b></font></a></p>
    </div></td>
    <%rs.moveNext%>
    </tr>
    <%Loop%>
    </table>
    </div>


    ma table s'appel Ressources et mes champs sont auteur, intitule, resumer, niveau

    ici mon code me liste toutes mes informations en fonction des champs rentré dan smon formulaire

    si quelqu'un peut me filer un coup de pouce
    grand merci d'avance

  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
    ben d'abord tu selectionne toute ta table et apres tu fait un test genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if request.form("") = rs("MonChamps") Then
    'existe déja
    Else
    'existe pas encore, insertion
    End if
    powder skiing is not a crime

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    je suis d'accord le problème c'est qu'il doit comparer toutes les données de la table pour voir si il n'existe pas c'est là ou je bloque
    exemple:

    if request.form("t_auteur") = rs("auteur") Then
    'existe déja
    Else
    'existe pas encore, insertion
    End if

    dans ce cas la on dit que c'est les même alors il doit tester

    if request.form("t_resume") = rs("resume") Then
    'existe déja
    Else
    'existe pas encore, insertion
    End if

    il doit tout tester si a chaque fois c'est pareil
    si tout est pareil alors message d'erreur sinon inserer

    il doit comparer tous les champs a chaque ligne de la table

  4. #4
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    pkoi tu fais le test sur tous les tuples ??? tu peux pas le faire uniquement sur un truk unique genre l' intitulé ou le resumé ? de un ça t eviteras de tout comparer et de deux ça en sera donc bcp + rapide >>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if request.form("intitule") = rs("intitule") Then 
          response.write("existe deja")
    else 
         response.write(rs.... & rs ....)
    end if
    Cliquez sur

    Evitez de mettre Probleme
    dans les titres de vos posts

  5. #5
    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
    nan j'ai une meilleure idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sql = "Select * From TaTable WHERE TonChamps = '" & request.form("")&"' "
    set rs = OBJdbConnection.execute(sql)
     
    if rs.eof then
    	response.write("existe pas") 'insertion
    Else
    	response.write("existe") ' message d'erreur
    End if
    Voila alors commentaire.. je selectione tout de ma table ou monchamps est égal au champs rentré dans la zone de texte...

    Ensuite je fais le teste pour savoir s'il a trouvé un enregistrement et si oui message d'erreur sinon insertion..

    Voila tu devrais essayer ca..

    Redis-moi comment 8)
    powder skiing is not a crime

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    ok je vais essaye ta methode et aussi la methode NeHus c'est vrai que ce n'ai pas bête son idée je vous remercie

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    a quoi correspond ton url = request.form("url")

  8. #8
    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
    ah ca tu peux enlever... c'est ke j'avais mis la récupération dans une variable.. c'est rien
    powder skiing is not a crime

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    ok j'essaye ta version
    merci encore

  10. #10
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 966
    Points
    3 966
    Par défaut
    Déja faudrait éviter les like sur tous les champs parce que sinon ce sera pas un modèle de performance.
    Si un des 4 champs est différent, tu fais l'insertion (AND), ou alors au contraire il t'en suffit un d'égal (OR) pour ne pas faire cette insertion ?
    La solution de Nehus est bof, par contre celle de roots_man est la bonne : adapte là avec des AND ou des OR en fonction de la question précédente

    AND :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sql = "Select * From TaTable WHERE TonChamps1 = '" & request.form("")&"' AND TonChamps2 = '" & request.form("")&"' AND" ...
    set rs = OBJdbConnection.execute(sql) 
     
    if rs.eof then 
       response.write("existe pas") 'insertion 
    Else 
       response.write("existe") ' message d'erreur 
    End if
    Tous les champs doivent être égaux pour ne pas insérer, si un ou plusieurs champs différent, on insère.

    OR :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sql = "Select * From TaTable WHERE TonChamps1 = '" & request.form("")&"' OR TonChamps2 = '" & request.form("")&"' OR" ...
    set rs = OBJdbConnection.execute(sql) 
     
    if rs.eof then 
       response.write("existe pas") 'insertion 
    Else 
       response.write("existe") ' message d'erreur 
    End if
    Il suffit d'un champ qui soit égal pour ne pas insérer, autrement dit tous les champs doivent être différents.

    Sinon pour tes tests en cascade infinis, t'as jamais entendu parler de l'algèbre de BOOLE. C'est une base pour programmer quand même
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  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 506
    Points
    9 506
    Par défaut
    Salut,

    Un truc qui pourrait se faire est aussi de determiner tout ces champs formant une seule clef primaire, non?
    Comme cela l'insertion ne se fera pas. Cela génèrera un msg qu'il faut gérer, mais bon cela evite la recherche.

    Qu'en pensez-vous?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  12. #12
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 966
    Points
    3 966
    Par défaut
    Bah moi je dis "bien!!" : une vraie réponse d'analyste !
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  13. #13
    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 506
    Points
    9 506
    Par défaut
    Citation Envoyé par fredoche
    une vraie réponse d'analyste !
    C'est un compliment ça??

    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Merci les gars

  15. #15
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 966
    Points
    3 966
    Par défaut
    Citation Envoyé par Immobilis
    Citation Envoyé par fredoche
    une vraie réponse d'analyste !
    C'est un compliment ça??

    oui
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  16. #16
    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 506
    Points
    9 506
    Par défaut
    Merci bien.

    "Winter is coming" (ma nouvelle page d'accueil)

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

Discussions similaires

  1. Ajout dans une base de donnée
    Par aectie dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/03/2014, 17h37
  2. Ajouts dans une base de données
    Par bsmile dans le forum Débuter
    Réponses: 1
    Dernier message: 11/02/2013, 20h45
  3. Ajouter dans une Base de Donnée Mysql
    Par karamovic dans le forum Android
    Réponses: 5
    Dernier message: 24/05/2012, 17h32
  4. Ajout dans une base de données XML (eXist) en JAVA
    Par yassinert dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 29/03/2009, 19h39
  5. Ajout Dans une base de données
    Par belabyad dans le forum ASP
    Réponses: 8
    Dernier message: 11/03/2005, 13h25

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