kj_83
Messages postés28Date d'inscriptionjeudi 6 avril 2006StatutMembreDernière intervention29 juin 2006
-
7 juin 2006 à 13:54
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 2007
-
7 juin 2006 à 15:37
Bonjour , je réalise un programme de gestion de stock qui doit entre autres inscrire des données entrées par l'utilisateur dans une base de donnée.J'utilise comme logiciel Builder avec les composants graphiqhes : Edit , comboBox.... et les composants de gestions de base de donnée dont TQuery.La requête SQL que j'ai rentré dans la propriété SQL est :
INSERT INTO tblProduit (NomProduit , StockMini) VALUES ( : ParamNouvProd ,
: ParamStockMin);
Comme la requête l'indique on doit insérer dans la table "tblProduit" ,qui est composée de deux champs :"NomProduit " et "StockMini",deux valeurs entrées par l'utilisateur (au travers d'un Edit est d'un ComboBox (liste déroulante)).
":" Indique au système qu'il s'agit de paramètre , j'ai au préalable déclaré c'est paramètre dans la propriété "Params" du composant TQuery.
Lorsque je mets la propriété "Active" du TQuery à "True" j'obtiens le message d'erreur suivant :
"Erreur à la création du handle de curseur".
Je ne comprend pas ce que cela signifie.
De plus à la compilation du bout de code situé derrière l'évènement "OnClick" du bouton qui sert à valider cette enregistrement :
QueryCreerProd->Params->Items[0]->AsString = EdtNouvProd->Text ;
("QueryCreerProd" = nom du composant TQuery)
("Params->Items[0]->AsString " = 1er paramètre de la propriété "Params" de TQuery et il
s'agit d'un string).
("EdtNouvProd->Text" représente la donnée entrée par l'utilisateur)
(source d'erreur) QueryCreerProd->Params->Items[1]->AsInteger = CboStockMin->Text ;
("Params->Items[1]->AsInteger " indique qu'il s'agit du 2ème paramètre et qu'il est de
type entier).
("CboStockMin->Text " indique la valeur prise par l'utilisateur dans la liste déroulante)
Je n'ais mis que la partie concernant les paramètres car le reste ne pose pas problème
J'obtient une erreur sur cette deuxième ligne :
"[C++ Erreur] fencreerprod.cpp(29): E2034 Impossible de convertir 'AnsiString' en 'int' "
je ne comprends pas car sur cette ligne il n'est pas question de AnsiString mais de AsInteger.
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 200710 7 juin 2006 à 14:46
Si il est question de conversion de AnsiString en int :
- CboStockMin->Text est de type AnsiString je présume
- QueryCreerProd->Params->Items[1]->AsInteger doit accepter un int
Essaie de mettre à la place de CboStockMin->Text :
atoi(CboStockMin->Text);
kj_83
Messages postés28Date d'inscriptionjeudi 6 avril 2006StatutMembreDernière intervention29 juin 2006 7 juin 2006 à 15:20
Merci de m'avoir répondu mais atoi(CboStockMin->Text) me provoque 2 erreurs :
[C++ Erreur] fencreerprod.cpp(29): E2034 Impossible de convertir 'AnsiString' en 'const char *'
[C++ Erreur] fencreerprod.cpp(29): E2342 Mauvaise correspondance de type dans le paramètre '__s' ('const char *' désiré, 'AnsiString' obtenu)
Je ne comprends pas bien ce que cela signifie.
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 200710 7 juin 2006 à 15:37
Ben programme sans toutes ces Borlanderies, en STL et C++ pur... C'est tout ce que je peut te répondre car je ne connait pas DU TOUT les classes de la OWL (ou VCL je ne me rappelle plus).