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 du TSQLQuery


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut Utilisation du TSQLQuery
    Bonsoir,
    voilà je veux attaquer une BDD MySQL via ce composant
    J'ai un composant TSQLConnection, je me conecte à cette base sans problème.
    Mais quand j'active mon TSQLQuery1 (Open) (j'ai renseigné la requête select) il me met le message: "type de champ incorrect".
    Je ne sais pas d'où ça peut venir.
    Pouvez-vous m'aiser

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Généralement ce message d'erreur apparait lorsque tu as une erreur dans ta requête.
    Si tu peut nous nommer la requête que tu as mise dans ton SQLQuery et le type de chaque champs utilisé, cela aiderai pour trouver une solution

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    Je fais des tests actuellement alors ma requête est toute simple:
    "select * from sites where numero=xxx"
    Voilà c'est tout. j'affinerai plus tard mais même avec ça ça ne fonctionne pas.
    Tu me parles de type de champs. Dans mon composant SQL j'ai renseigné la propriété connexion avec mon TSQLConnection. Dans la propriété sql->text j'y ai mis la requête ci-dessus.
    Et c'est tout.
    J'ai peut-être oublié quelque chose... c'est la première fois que j'utilise ce composant, d'habitude j'attaque une BDD Oracle avec des composants ADO (TADOConnection, TADOQuery). là je suis un peu perdu

    J'ai le message d'erreur quand je fais SQLQuery1->Open() ;
    Merci.

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    dans ta table sites de ta base de données, le champ numéro est bien renseigné comme un type numérique ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    Bonjour,
    Euh, tu veux dire dans mon SQLQuery ?
    Et bien non je n'ai déclaré aucun champ. Ça doit être ça mon erreur.
    D'après ce que tu me dis je dois déclarer chaque champs que je récupère de ma requête ?
    Si tu pouvais m'éclairer.

    Ou je dois déclarer ses champs dans mon SQLQuery ?

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    non tu ne doit déclarer aucun champs dans ton SQLQuery,
    Par contre pour faire une requête sur une base de données, tu doit bien te connecter à une base de données, (tu as d'ailleurs précisé que c'était une BDD MySQL dans ton premier post).
    Sur cette base de données, est-ce que tu as bien une table sites avec un champ numero, et est-ce que ce champ est bien de type numérique ?

  7. #7
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    Alors je suis connecté à ma base via le SQLConection là pas de souci.
    dans ma base j'ai une table nommée sites dans laquelle j'ai différents champs en varchar ou int. Je voudrais faire un select sur certains de ces élèments voire tous.
    Pour mes tests je me suis focalisé sur le champs numero qui effectivement n'est pas un entier mais un varchar.

    c'est le type varchar (chaine de caractères) qui pose problème ?

  8. #8
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui,
    en fait ton problème viens de ta requête SQL, lorsque tu spécifie une valeur texte en général, cette valeur dois être entre guillemet simple (') alors qu'une valeur numérique ne doit pas être entouré.
    Ta requête doit donc être du type :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sites where numero='xxx'

    Sinon pour plus d'info, tu as des cours sur le langage SQL sur le site : http://sql.developpez.com/

Discussions similaires

  1. [Lazarus] Utilisation du composant TSQLQuery
    Par sverdo dans le forum Lazarus
    Réponses: 1
    Dernier message: 13/09/2007, 11h22
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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