benameur11
Messages postés15Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 5 juin 2009
-
28 mai 2009 à 12:19
benameur11
Messages postés15Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 5 juin 2009
-
28 mai 2009 à 17:28
bonjour je veu insérer dans une table payement qui n'a pa de clé primaire elle possède 2 clé étrangères. le problème . l'insertion est faite via une méthode qui se trouve dans un service web, ma méthode fonctionne mais elle ajout 2 fois l'enregistrement.Merci de votre aide .
Tu peux faire un truc du genre
SqlCommand commande = new SqlCommand();
commande.Connection = maConnexionSQL;commande.CommandText "SELECT COUNT(IdCle1) FROM Table WHERE IdCle1 @IdCle1 AND IdCle2 = @IdCle2;";
commande.Parameters.Add(new SqlParameter("@IdCle1", cle1));
commande.Parameters.Add(new SqlParameter("@IdCle2", cle2));
ou sinon, tu peux peut-être utiliser des procédures stockées (si ta BDD le permet), ce qui te permettra de gagner en performances et simplifiera grandement ton code
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
benameur11
Messages postés15Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 5 juin 2009 28 mai 2009 à 14:37
je pense que le problème est dans la requête string req = "INSERT INTO Payement(CodeClient,CodeProduit, Dates, Type )VALUES( '" + CodeClient + "','" + CodeProduit + "','" + Dates + "', '" + Type + "');";
quand je met la clé primaire de la table payement dans le champ CodeClient le problème ne pose pas mais il y a un autre problème , dans le champ codeClient pas de doublons .
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 28 mai 2009 à 14:42
T'es sûr que tu n'exécute pas tout simplement 2 fois ta requête ?
Parce que je peux t'assurer que si tu as déjà un enregistrement avec la même IdCle1 et la même IdCle2, il ne rentre pas dans le if du code que je t'ai link.
Envoie le code de ta fonction, on trouvera peut-être d'où vient l'erreur
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
benameur11
Messages postés15Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 5 juin 2009 28 mai 2009 à 15:11
merci de ta réponse j'ai trouvé le problème au niveau de cette commande " ExecuteNonQuery();" j'ai enlevé cette commande et sa marché. comment envoyé la résultat a mon application sous forme un messagebox qui m'indique que si cet enregistrement existe ou no s'il existe alors m'affiche cet enregistrement existe" sinon il ajoute l'enregistrement . Merci beaucoup
benameur11
Messages postés15Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 5 juin 2009 28 mai 2009 à 15:49
dommage une erreur Impossible de convertir implicitement le type 'System.Data.DataSet' en 'bool' .ma methode retourne une dataset qui est liée a datagridview alors comment testé dans l'application si l'neregistrement est ajouté .Merci du grand travail que tu fait