Pointer une case d'une base de donnée a partir d'une requete sql
cs_Maitre_Gonzo
Messages postés29Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention19 novembre 2007
-
25 mai 2004 à 11:52
cs_Maitre_Gonzo
Messages postés29Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention19 novembre 2007
-
28 mai 2004 à 09:53
Bonjour tout le monde
j'effectue en ce moment mon stage de premiere année de bts .
Je rencontre le problème suivant : Je suis désireux d'afficher des données d'une BDD via une requête sql afin de les trier. Mais , j'aimerais ajouter une commande supprimer , hors si j'utilise la commande delete en cliquant sur une cellule du tableau engendré par la requète sql cela me suprimme une donnée de la base de donnée n'importe comment . Ma question est de savoir commment lorsque je clique sur une cellule du tableau de la requete sql , puis-je pointer sur la cellule correspondant dans la base de donnée afin de supprimer l'enregistrement .
Merci d'avance
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 25 mai 2004 à 18:10
Ou, plus direct :
DbGrid.DataSource.DataSet.Delete;
Quand on clique sur une ligne du DbGrid, l'enregistrement sélectionné devient l'enregistrement courant de l'ensemble de données lié.
En appelant la méthode Delete, l'ensemble de données supprime alors l'enregistrement courant.
Attention : cette méthode ne fonctionnera pas si les enregistrements sont issus d'une requête multitables.
cs_Maitre_Gonzo
Messages postés29Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention19 novembre 2007 26 mai 2004 à 11:29
Etrange , lorsque j'utilise la solution de Delphiprog , le projet se lance et lorsque je tente de lancer la procedure de supression , le programme me retourne l'erreur : "la table est en lecture seule" . Cela en entrant les instructions suivantes (categoriegrid etant le nom de ma grille) :
categoriegrid.datasource.dataset.delete ;
Merci de vous pencher dessus , pour le moment je vais tester la solution de the shaman .
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Maitre_Gonzo
Messages postés29Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention19 novembre 2007 26 mai 2004 à 11:44
Decidement , encore un probleme avec la solution de The shaman , qui me retourne comme erreur "utilisation incorecte du mot cé * " (ou * est la saisie suivane : ('DELETE * Where id = '''var''' ');
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 26 mai 2004 à 12:01
Pour la solution de TheShaman, tu as oublié de préciser dans quelle table tu veux effectuer les suppressions (voir syntaxe de la commande SQL delete) :
'Delete * From QuelleTable where Id = "var"'
cs_Maitre_Gonzo
Messages postés29Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention19 novembre 2007 28 mai 2004 à 09:53
Bon le probleme n'est pas résolu et je viens de me rendre compte les ajouts de nouvelles entrées subissaient le meme probleme a savoir qu'elles etaient ajoutées ds le tableau généré par la requète sql et non dans la table elle même. Le plus simple serait de retrier les infos de ma base de donnée pour l'afficher directement . Donc , je cherche un moyen pour trier les informations de ma base de donnée et réorganiser celle ci en conséquence . Merci de m'aider .