Bonjour ,
Je travail sur un programme de gestion de stock sous C++ Builder avec une base de donnée Access.
J'ai donc utilisé les composants de Builder pour pouvoir travailler avec une base de donnée , j'avais commencé par utilisé les composants BDE mais pour mon application les composants ADO sont plus appropriés.(on me l'a fait remarquer sur le forum)
En ce moment je remplace les composants BDE par des composants ADO , le changement des composants en eux mêmes de pose pas trop de problème.
C'est plutôt au niveau du code : l'utilisateur du programme doit pouvoir ajouter un nouveau produit à la base de donnée cela donne le code suivant :
ADOQueryNouvPerson->SQL->Add("INSERT INTO tblPersonnel (Nom,Prenom,Service) ");
ADOQueryNouvPerson->SQL->Add("VALUES (:ParamNomNouvPerson,:ParamPrenomNouvPerson ,:ParamService)");
ADOQueryNouvPerson->Parameters->Items[0]->AsString = EdtNouvNom->Text;
Explication:
Les 3 premières lignes correspondent à la requête SQL :
ADOQueryNouvPerson est le nom que j'ai donnée au composant ADOQuery.
tblPersonnel est le nom d'une des mes tables + les 3 champs :Nom , Prenom , Service
Ce qui se trouve à la suite du VALUES avec le préfixe :Param represente les valeurs entrées par l'utilisateur elles sont interprétées comme des paramètres grâce au ":".
Et la dernière ligne qui me pose problème : indique que le premier paramètre (Items[0]) entré par l'utilisateur est un String et qu'il se trouve dans une boite de saisie (EdtNouvNom->Text) (cette ligne se répète trois fois pour les trois paramètres mais l'erreur est la même).
Cette commande fonctionnée quand j'utilisais un Query (composant BDE) mais maintenant j'obtiens l'erreur suivante :
[C++ Erreur] fencreerperson.cpp(31): E2316 'AsString' n'est pas un membre de 'TParameter'
J'ai essayé avec d'autre type (String , ftString ) mais ca me met toujours la même erreur.
Voilà , Merci d'avance .