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

 Delphi Discussion :

Savoir si un nom est déja présent dans une BD


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 028
    Points : 308
    Points
    308
    Par défaut Savoir si un nom est déja présent dans une BD
    Hello,

    Je n'arrive pas à définir comment procéder pour faire ce que je veux.
    Je m'explique.
    D'un côté j'ai fait un bout de code qui scanne des répertoires donnés.
    Ce bout de code place successivement dans un Edit le nom des fichiers qui sont dans le répertoire.
    De l'autre côté j'ai une base de données ACCES et je voudrais écrire dans cette base de données ces fichiers chaque nom de fichier correspondant à un enregistrement.
    Jusque la rien de bien compliquer.

    MAIS

    Je suis succeptible de rescanner les mêmes répertoires plus tard et je ne voudrais pas rajouter les même fichiers chaque fois que je rescanne un répertoire.

    Bon chui pas clair, donc exemple :

    J'ai un répertoire qu'on va appelé Music.
    dedans il y a pop.wav, swing.wa, rock.waw, blues.wav !

    Mon programme scanne ce dossier et ma base de donnée comporter donc les enregistrements :
    pop.wav
    swing.wav
    rock.wav
    blues.wav

    Le lendemain je rajoute le fichier jazz.wav

    Je demande a nouveau a mon programme de scanner le dossier music et la ma base de données ressemble à ceci :
    pop.wav
    swing.wav
    rock.wav
    blues.wavpop.wav
    swing.wav
    rock.wav
    blues.wav
    jazz.wav

    C'est pas du tout ce que je veux, je veux qu'elle ressemble a
    pop.wav
    swing.wav
    rock.wav
    blues.wav
    jazz.wav

    Seul le fichier jazz.wav est ajouté !

    Bon alors voila chez pas si chui compréhensible, j'espère...

    Si quelqu'un a une suggestion.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 449
    Points : 5 876
    Points
    5 876
    Par défaut
    salut


    au moment de l'insertion il faut que tu verifie que le nom n'existe pas

    soit tu fait une premiere query ou tu verifie que le nom n'est deja pas dedans

    la requette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom from matable where nom =:vnom
    le code de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Query.close
    Query.Params[0].asString := monnom;
    Query.open 
    if  Query.isEmpty then 
    begin
       Addnom(monnom);
    end;
    @+ Phil

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 028
    Points : 308
    Points
    308
    Par défaut
    Super !
    C'est finalement super simple.
    Pourquoi je me cassais la tête .
    Par contre j'ai encore un souci avec le code.
    Je l'ai un peu modifié comme ceci :

    procedure TForm3.Button1Click(Sender: TObject);
    begin
    ADOQuery1.close;
    ADOquery1.SQL.text:='select fichier from Table1';
    ADOQuery1.Parameters[0].AsString:=(form2.edit1.text);
    ADOQuery1.open;
    ADOConnection1.Connected:=TRUE;
    ADOQuery1.Active:=TRUE;
    if ADOQuery1.isEmpty then
    begin
    Add nom(form2.edit1.text);
    end;

    end;

    Mais j'ai deux messages d'erreur !

    [DCC Erreur] Unit3.pas(36): E2003 Identificateur non déclaré : 'AsString'
    [DCC Erreur] Unit3.pas(42): E2003 Identificateur non déclaré : 'Add'

    Je comprends pas pourquoi.
    Je suis bien obligé de mettre le .AsString puisque dans mon edit c'est du Caption le parameter du Query il en voudra pas comme ça!
    Mais pour ça j'ai une solution je crois.

    Par contre Add je pige pas !

  4. #4
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 028
    Points : 308
    Points
    308
    Par défaut
    J'ai laissé tomber la méthode ADD.

    Mais en tout cas merci tu m'as vriament aidé.

    A+

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

Discussions similaires

  1. [MySQL] verifier si une clé étrangère est déja inséré dans une table mysql a l'aide du php
    Par mourad_betelgeuse dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/06/2013, 01h52
  2. Savoir si un index est déja existant dans une liste
    Par boubou38 dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/11/2011, 17h20
  3. Réponses: 5
    Dernier message: 07/09/2007, 18h23
  4. [MySQL] vérifier qu'un nom est déjà présent dans un champ
    Par abdou1664 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/05/2007, 16h00
  5. [MySQL] Savoir si un élément est déjà présent dans la table
    Par camzo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/12/2006, 18h46

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