Maiku
Messages postés190Date d'inscriptiondimanche 10 avril 2005StatutMembreDernière intervention 4 juillet 2007
-
8 oct. 2005 à 20:19
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 2008
-
9 oct. 2005 à 12:52
Bonjour
Je developpe actuellement un logiciel de cuisine en relation avec une base de données access 2000, je l'ai quasiment terminé à l'exception d'une requete sql qui refuse de marcher, il s'agit d'une requete de suppression DELETE , voici le code concernés :
Détails : Recettes.Text est une combobox qui contient la recette selectionnée par l'utilisateur, ce bout de code sert a supprimer une recette qui est consultée, result est un tableau ArrayList dont je me sert pour traiter les resultats de mes requetes sql, Connection est une méthode que j'ai declarée dans une bibliothèque de classe (un fichier dll si vous preferez et dont je peut me servir pour n'importe quel requete).
if( this.Recettes.Text == "")
{
MessageBox.Show("Vous ne pouvez supprimer une recette sans l'avoir selectionée et consultée");
}
else
{
string recettesup = this.Recettes.Text;
this.Recettes.Text = "";
bd.Connection("Delete From Recettes " + " where NomRecette='"+recettesup+"'");
MessageBox.Show("Une Si Belle Recette T_T, j'espère que tu m'en proposera des meilleurs ^^ ");
}
J'espere que qq pourra me dire pourquoi la requete ne fonctionne pas T_T
Merci d'avance
Maiku
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 9 oct. 2005 à 10:10
Le probleme c'est que tu as du mettre des contraintes d'integrité referentielle dans Access.
As-tu vraiment besoin de les mettres ? (meme si le MLD l'indique). Je veux dire, est-ce une obligation ?
Si tu dois les mettre, alors vas dans access, et choisis ta relation
entre tes tables Recettes et Composer. Click Droit -> Modifier une
relation, et clic "Effacer en cascade les enregistrements
correspondants", et reteste ton code (sans la requete "DELETE FROM
Composer") pour voir.
Cependant, je trouve ca bizarre que meme avec les 2 requetes enchainées, il n'y arrive pas
Maiku
Messages postés190Date d'inscriptiondimanche 10 avril 2005StatutMembreDernière intervention 4 juillet 2007 8 oct. 2005 à 22:14
Rebonjour
Alors pour le contrôlé du string, ben j'affiche la requete avant de l'executer, elle m'affiche bien le nom de la recette.
Pourquoi pas utilisé un identifiant ?
Bonne question, je n'en voyais pas le besoin vu que j'ai le nom de la recette dans la feuille.
Quand au try catch ben ......je sé vraiment l'utiliser en fait.
Donc si tu pouvais m'expliquer cispo.....
Parce que j'ai deja essayé d'en faire mais ca marchait pas T_T
Maiku
Messages postés190Date d'inscriptiondimanche 10 avril 2005StatutMembreDernière intervention 4 juillet 2007 8 oct. 2005 à 22:20
Euh.....
désolée de dire ça mais j'en vois pas l'intêret ce n'est pas bdConnection qui pose problème puisque toutes mes requetes fonctionne avec cette méthode.
Pourquoi faire un try/catch dedans ?
Maiku
Messages postés190Date d'inscriptiondimanche 10 avril 2005StatutMembreDernière intervention 4 juillet 2007 8 oct. 2005 à 22:25
Lol
Ben y a pas vraiment de mode pas a pas, si tu vois ce que je veux dire, c'est juste une requete que je fais ds cette fonction.
Pourtant ds mon logiciel, je fais plein d'otre requetes : insert, update, select et y a que le delete qui marche pas et j'en ai besoin ds deux feuilles.
T_T
Je vais essayé de faire un delete sans where pour voir, c'est la seule chose que je peux tenter.
Maiku
Messages postés190Date d'inscriptiondimanche 10 avril 2005StatutMembreDernière intervention 4 juillet 2007 8 oct. 2005 à 22:38
Alors j'ai remis le même MessageBox mais cette fois ci avant la requete, celle ci s'est bien affichée, ce qui est logique car il ne doit rentrer dans le else que si j'ai selectionné une recette.
Je vous met le message d'erreur qu'il me donne sur la ligne de ma requete :
Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll
Maiku
PS : j'ai deja eu le même genre d'erreur au debut quand mes requetes foiraient mais la cette requete elle commence a me peser.
Maiku
Messages postés190Date d'inscriptiondimanche 10 avril 2005StatutMembreDernière intervention 4 juillet 2007 8 oct. 2005 à 22:44
Alors pour te repondre coq :
le * je viens de le tester mais je ne vois pas ce que ca aurait changer car sous access sous le * il marchait.
Quand au restant du message : que veut tu dire par la ?
Je n'ai eu que ce message d'erreur : que je connais d'ailleurs par coeur lol puisqu'il s'affiche tjrs lors d'erreur de requete.
Maiku
PS : Tu viens de m'apprendre ce qu'est un exception, merci, dsl je me suis mis au c# mode graphique que depuis debut septembre ^^°. Et pour l'instant je me contente de ce que je dois faire ds mon prog.