-
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
-
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 ;)
-
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 :oops:
J'ai le message d'erreur quand je fais SQLQuery1->Open() ;
Merci.
-
Salut,
dans ta table sites de ta base de données, le champ numéro est bien renseigné comme un type numérique ?
-
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 ?
-
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 ?
-
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 ?
-
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:
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/ ;)