Erreur à l'execution du requête SQL

Signaler
Messages postés
28
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
29 juin 2006
-
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
-
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.

Voilà  , Merci d'avance.

3 réponses

Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
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);
Messages postés
28
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
29 juin 2006

 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.
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
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).