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

C++Builder Discussion :

Utilisation de variable Builder dans une requete SQL


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Utilisation de variable Builder dans une requete SQL
    Tout d'abord Bonjour a tous,

    Je travaill actuellement sur un projet dans le cadre de mon stage de fin de premiere année de BTS IRIS.

    Le projet consiste en grande parti à intreragir avec une base de donnée Access.
    Apres avoir mis en place la liaison avec ma base de donnée je souhaite maintenant effectuer certaines requetes pour modifier ajouter et supprimer des enregistrement dans une table.

    Mon probleme:
    Dans mon TQuery->SQL j'aimerai utiliser une requete du type:
    DELETE FROM liste_materiel WHERE N_serie = 'CBN_SerieSupp->Text';

    La requete n'a aucun effet sous cette forme alors que si je place une valeur xxx a la place de CBN_SerieSupp->Text. Cela marche très bien...

    La requete me supprime le produit correspondant au numero de serie entré préalablement par un utilisateur dans le TComboBox

    Si quelqu'un a une solution je suis preneur...
    Merci d'avance

  2. #2
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    ce sera plutot kkchose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    AnsiString sql = "DELETE FROM liste_materiel WHERE N_serie = " &CBN_SerieSupp->Text;
    TQuery->SQL->Add(sql);
    TQuery->open();

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Merci je pense que le probleme que j'avais est résolut mais maintenant j'ai un message d'erreur: impossible de convertir le variant de type (String) en type (Integer).
    Je précise que dans ma table le type de la donnée que je compare est en texte (dans Access).

    Voici mon morceau de programme

    AnsiString sql = "DELETE FROM liste_materiel WHERE N_serie = " &CBN_SerieSupp->Text ;
    QSupp->SQL->Add(sql);
    QSupp->ExecSQL();
    Je vois pas vraiment d'où sort cet Integer je me demande s'il ne confond pas l'adresse?

  4. #4
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Citation Envoyé par _ben_
    Merci je pense que le probleme que j'avais est résolut mais maintenant j'ai un message d'erreur: impossible de convertir le variant de type (String) en type (Integer).
    Je précise que dans ma table le type de la donnée que je compare est en texte (dans Access).

    Voici mon morceau de programme

    AnsiString sql = "DELETE FROM liste_materiel WHERE N_serie = " &CBN_SerieSupp->Text ;
    QSupp->SQL->Add(sql);
    QSupp->ExecSQL();
    Je vois pas vraiment d'où sort cet Integer je me demande s'il ne confond pas l'adresse?
    Si c'était résolu...il faudrait penser au tag.

    en ce qui concerne ton autre erreur..ce bout de code est vraiment celui provoquant l'erreur?
    De plus, tu devrais plutot avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString sql = "DELETE FROM liste_materiel WHERE N_serie = " + CBN_SerieSupp->Text ;
    ceci explique peut-etre cela

    N_Serie est vraiment une chaîne de caractère?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    L'erreur vien au moment de l'execution de la requete puisque le morceau de code se trouve dans un boucle if déclenché par appuis sur un bouton.

    Oui N_serie est bien de type texte c'est le n° de serie de produits informatiques et il y a parfois des lettres...

    En mettant le + et sans le & ca me donne 2 autres erreurs:
    Erreur SQL générale. trop peu de parametres. 1 attendus.
    et en continuant:
    Erreur de syntaxe (oprateur absent) dans l'expression 'N_serie = xxxx
    DELETE
    FROM liste_materiel WHERE N_serie = xxxx'

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Je viens de trouver la solution en fait il suffisait de rajouter des simple quote dans mon ComboBox au lieu de mettre xxxx il fallait 'xxxx'.
    Merci pour ton aide say

  7. #7
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    ah ben, j'avais pas vu que tu les mettais pas

    de nada...

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

Discussions similaires

  1. [MySQL] Comment reécupérer une variable javascript dans une requet sql
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/08/2013, 20h21
  2. Utilisation de variables globales dans une requete
    Par FFW_Rude dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 18/01/2011, 12h06
  3. utilisation d'une variable dans une requete SQL
    Par ezneti dans le forum Visual C++
    Réponses: 1
    Dernier message: 30/04/2007, 09h47
  4. utilisation du contenu d'un champ edit dans une requete sql
    Par amri2006 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/01/2006, 16h05
  5. probleme d'utilisation de variables reel dans 1 requete SQl
    Par arawak dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/01/2006, 15h41

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