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

Bases de données Delphi Discussion :

Commande SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut Commande SQL
    bonjour à tous!Voilà je voudrais récupérer une valeur sans toucher au reste. Je vous explique plus clairement.

    Voilà imaginez une table intérêt où l'identifiant est ICode qui va de 1 à 10.

    Dans la table client cha que client peut avoir un à plusieur interet sauf qu'ici ces interets sont inscrit de la manière suivante dans la clé étrangère de ICode :

    CLIENT ICode

    client 1 : 4 5 7
    client 2 : 3 4 8 9
    client 3 : 1 3
    client 4 : 4 6 7 8

    etc...

    j'aimerais pouvoir récupérer par ma requête qu'un seul chiffre genre 1 ou 5 etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Query1.Close;
          Query1.sql.clear;
          Query1.sql.Add('SELECT ClientCode');
          Query1.sql.Add('FROM Client C');
          Query1.sql.Add('Where like C.ICode=*1*');//Voir (1)
          Query1.Open;
    (1)je ne sais pas si ce que j'ai marqué est bon mais en bref c'est ici que j'aimerais savoir comment dire je veux que ceux qui ont le chiffre un dans cette clé! genre 1 5 6 il trouve le 1 donc il le met dedans etc...

    Voilà merci de votre aide!

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Essaies de passer un paramêtre, ça sera plus clair:

    Exemple de code d'une de mes applis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    with qryStock do begin
           close;
           Parameters.Clear;
            //création du paramêtre dans le code avec son type
           Parameters.CreateParameter('DateFichier',ftinteger,pdinput,8,lDateFichier);
           sql.Text:='SELECT * FROM Tbl_MvtStock WHERE nDatefichier=:DateFichier';
           //affectation de la valeur du paramêtre
           Parameters.ParamByName('DateFichier').Value:=lDateFichier;
           //ouverture de la requête
           open;
        end;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    j'ai pas trop pigé ton histoire de pramètre !vite fait mais je vois pas en quoi cela réponds mon problème!pour moi les symboles * c'est pour dire ce qu'il y a de ce coté par exemple de 1 à gauche ne nous interesse pas.c'est pour cela qu'il y en a à gauche et à droite de 1. comme l'algorithme sur papier. Je suis vraiment nul ^^'

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Exact, désolé.

    voici un autre exemple trouvé sur le forum.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Query1.Active := False; 
    Query1.SQL.text := 'SELECT CHAMP1, CHAMP2 '+ 
                       'FROM TABLE1 '+ 
                       'WHERE (CHAMP3 LIKE :PARAM1 ); 
    Query1.Parameters.ParamByName('PARAM1').Value := Edit1.Text+'%'; 
    Query1.Active := True;

    ce qui m'anène à dire qu'il faut utiliser la recherche avancée, hein ?!

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    mais heuuuuuuuuu!je fais tout à l'arrache j'ai pas trop le temps ! je lance des forums comme ca le temps que cela réponde je pourrais faire la suite en ayant la solution de mes problèmes futurs lol!merci je testerais tout à l'heure si cela marche!à mon stage c'est assez speed,pas le temps de dormir lol!

Discussions similaires

  1. execution de 2 commandes sql simulanément
    Par manikou dans le forum MFC
    Réponses: 4
    Dernier message: 03/05/2005, 15h10
  2. Commande SQL / connaître taille d'1 base
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/04/2005, 11h38
  3. [JDBC] Commande SQL récalcitrante
    Par Dahu dans le forum JDBC
    Réponses: 7
    Dernier message: 05/04/2005, 16h03
  4. commande SQL truncate table xxx
    Par Yogy dans le forum SQL
    Réponses: 1
    Dernier message: 07/10/2004, 14h57
  5. [dBase]il y a mieux que la commande sql UPDATE ?
    Par sana72 dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/12/2002, 11h59

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