Utilisation de mysql et de borland c++ builder
Résolu/Fermé
brice13960
Messages postés
12
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
21 mai 2013
-
Modifié par brice13960 le 20/05/2013 à 12:50
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 23 mai 2013 à 10:12
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 23 mai 2013 à 10:12
A voir également:
- Utilisation de mysql et de borland c++ builder
- Notice d'utilisation - Guide
- Pdftk builder - Télécharger - PDF
- Utilisation chromecast - Guide
- Tiny11 builder - Accueil - Windows
- Mysql community server - Télécharger - Bases de données
7 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
20 mai 2013 à 13:12
20 mai 2013 à 13:12
À quoi correspond ton erreur E2203 ? Peux tu nous reporter le message d'erreur complet ?
À ta place j'essaierais une démarche progressive, quitte à repartir d'un programme minimal pour faire des tests.
1) Tenter de se connecter à la base, vérifier que la connexion est correcte en contrôlant le type de retour. Si ça ne marche pas vérifie le login, le mot de passe, que la base est accessible depuis un client mysql lancé depuis la même machine etc.
2) Une foisl a connexion établie, fais une requête "simple" et vérifie que tu arrives à récupérer son résultat (par exemple "select 1;").
3) Une fois que tu y parviens, vérifie que tu arrives à interroger une table de ton schéma mysql (par exemple "select * from ma_table;").
4) Enfin tente ta requête finale.
Une fois qu'on aura tranché où ça cloche dans ces 4 étapes on y verra plus clair. Après il faudrait nous en dire un peu plus sur comment marche ton application (où la connexion est ouverte, quand elle est utilisée dans ton programme, etc...). Par exemple si ton programme est un démon (une tâche qui tourne arrière plan), il est important de préserver le file descriptor associé à la connexion au moment où tu démonises ton programme.
Bonne chance
À ta place j'essaierais une démarche progressive, quitte à repartir d'un programme minimal pour faire des tests.
1) Tenter de se connecter à la base, vérifier que la connexion est correcte en contrôlant le type de retour. Si ça ne marche pas vérifie le login, le mot de passe, que la base est accessible depuis un client mysql lancé depuis la même machine etc.
2) Une foisl a connexion établie, fais une requête "simple" et vérifie que tu arrives à récupérer son résultat (par exemple "select 1;").
3) Une fois que tu y parviens, vérifie que tu arrives à interroger une table de ton schéma mysql (par exemple "select * from ma_table;").
4) Enfin tente ta requête finale.
Une fois qu'on aura tranché où ça cloche dans ces 4 étapes on y verra plus clair. Après il faudrait nous en dire un peu plus sur comment marche ton application (où la connexion est ouverte, quand elle est utilisée dans ton programme, etc...). Par exemple si ton programme est un démon (une tâche qui tourne arrière plan), il est important de préserver le file descriptor associé à la connexion au moment où tu démonises ton programme.
Bonne chance
brice13960
Messages postés
12
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
21 mai 2013
20 mai 2013 à 19:32
20 mai 2013 à 19:32
bonjour mamiemando,
merci pour votre réponse, je vais un peu mieux expliquer mon problème.
Sur la "fiche" principal de mon projet, la connexion à la base de données mySQL fonctionne, ainsi que toutes les requêtes SQL que j'ai eu besoins. le problème étant que lorsque je passe sur une seconde "fiche" de mon projet, celle-ci n'a plus de connexion a mySQL (la connexion étant rester sur la première fiche), et c'est en essayant de me connecter a partir de la seconde fiche que j'ai une erreur E2203 sur le fichier de la bibliothèque mysql_com.h m'indiquant qu'un nom de type est attendu.
J'ai essayé cet après midi de passer le pointeur de structure *mysql d'une fiche a une autre et aucun résultat probant pour le moment.
Merci encore de votre réponse.
bonne soirée.
brice13960
merci pour votre réponse, je vais un peu mieux expliquer mon problème.
Sur la "fiche" principal de mon projet, la connexion à la base de données mySQL fonctionne, ainsi que toutes les requêtes SQL que j'ai eu besoins. le problème étant que lorsque je passe sur une seconde "fiche" de mon projet, celle-ci n'a plus de connexion a mySQL (la connexion étant rester sur la première fiche), et c'est en essayant de me connecter a partir de la seconde fiche que j'ai une erreur E2203 sur le fichier de la bibliothèque mysql_com.h m'indiquant qu'un nom de type est attendu.
J'ai essayé cet après midi de passer le pointeur de structure *mysql d'une fiche a une autre et aucun résultat probant pour le moment.
Merci encore de votre réponse.
bonne soirée.
brice13960
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
21 mai 2013 à 00:59
21 mai 2013 à 00:59
Je pense que c'est un problème un peu similaire à celui que je t'ai indiqué. Déjà histoire de fixer les idées, qu'appelles-tu une "fiche" ? C'est une fenêtre ? Tu utilises une librairie particulière ?
Je ne connais pas trop ton projet, mais j'imagine que tu as un file descriptor ou équivalent dans ta première fiche qui te sert à faire des requêtes à la base. C'est lui que tu dois transmettre à la deuxième "fiche".
Je ne connais pas ton code mais peut être que tes deux fiches peuvent hériter d'une même classe qui stockerait ce file descriptor en tant que membre statique.
Bonne chance
Je ne connais pas trop ton projet, mais j'imagine que tu as un file descriptor ou équivalent dans ta première fiche qui te sert à faire des requêtes à la base. C'est lui que tu dois transmettre à la deuxième "fiche".
Je ne connais pas ton code mais peut être que tes deux fiches peuvent hériter d'une même classe qui stockerait ce file descriptor en tant que membre statique.
Bonne chance
brice13960
Messages postés
12
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
21 mai 2013
21 mai 2013 à 09:02
21 mai 2013 à 09:02
bonjour mamiemando,
oui, la fiche est une nouvelle fenêtre sous borland c++ builder, et la librairie particulière et mysql.h.
par contre, je vais essayer la transmission de du file descriptor.
je vous tiens bien sur au courant de mon avancement.
Merci encore et bonne journée a vous.
brice13960
oui, la fiche est une nouvelle fenêtre sous borland c++ builder, et la librairie particulière et mysql.h.
par contre, je vais essayer la transmission de du file descriptor.
je vous tiens bien sur au courant de mon avancement.
Merci encore et bonne journée a vous.
brice13960
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
21 mai 2013 à 10:04
21 mai 2013 à 10:04
Ok donc d'après ce que je vois ici :
https://lfe.developpez.com/BCBmySQL/
ce que j'appelle file desciptor (c'est ce qu'on aurait sous linux) est apparemment en capsulé dans ton objet MYSQL, c'est donc lui qu'il faut transmettre d'une fiche à l'autre. Donc comme je proposais plus haut, si tes deux fiches héritent d'une même classe qui a un membre statique de type MYSQL, ça devrait marcher.
Bonne chance
https://lfe.developpez.com/BCBmySQL/
ce que j'appelle file desciptor (c'est ce qu'on aurait sous linux) est apparemment en capsulé dans ton objet MYSQL, c'est donc lui qu'il faut transmettre d'une fiche à l'autre. Donc comme je proposais plus haut, si tes deux fiches héritent d'une même classe qui a un membre statique de type MYSQL, ça devrait marcher.
Bonne chance
nar6du14
Messages postés
459
Date d'inscription
dimanche 27 décembre 2009
Statut
Membre
Dernière intervention
7 décembre 2013
64
23 mai 2013 à 02:00
23 mai 2013 à 02:00
un externC{} n'est il pas necessaire??
vas sur le site de MYSQL et cherche "C connector", le C API de connexion a la base MYSQL
vas sur le site de MYSQL et cherche "C connector", le C API de connexion a la base MYSQL
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
23 mai 2013 à 10:12
23 mai 2013 à 10:12
@nar6du14
Non extern "C" sert à importer une fonction C en C++. Neuf fois sur dix c'est inutile si tu inclues le bon header (par exemple <cstdio> au lieu de <stdio.h>, <cstdlib> au lieu de <stdlib.h>, etc...).
Et sinon le mot clé extern sert à déclarer une fonction qui n'est pas déjà déclarée dans un .h, mais qui est implémenté dans un binaire (.o, .so, .a) avec lequel le programme est linké.
Bonne chance
Non extern "C" sert à importer une fonction C en C++. Neuf fois sur dix c'est inutile si tu inclues le bon header (par exemple <cstdio> au lieu de <stdio.h>, <cstdlib> au lieu de <stdlib.h>, etc...).
Et sinon le mot clé extern sert à déclarer une fonction qui n'est pas déjà déclarée dans un .h, mais qui est implémenté dans un binaire (.o, .so, .a) avec lequel le programme est linké.
Bonne chance