Réponse acceptée !
Salut,
Dans ton code, tu utilises 2 commandes différentes (command et comm1) et 2 readers différents (rs et rs1).
Il ne s'agit donc pas de 2 requêtes en même temps, mais de deux requêtes indépendantes l'une après l'autre.
Je vois 2 solutions :
- Enlever le rs.NextResult();
La commande qui t'a donné le rs ne contient qu'un seul SELECT. Il ne faut donc pas faire un NextResult().
- Faire, comme tu l'indiques dans ton message, deux SELECT dans une seule requête. Pour ça, il faut remplacer la ligne de ta première commande par :
Code C# :
SqlCommand command = new SqlCommand("SELECT * FROM Client where code_client='4593' ; SELECT * FROM Produit where qte_annuelle='200'", ConnectBase.getinstance().Connection());
Et après le rs.NextResult(), tu fais juste while (rs.Read()).
Pas de rs1 ou de conn1
Maintenant, quelques remarques :
- Tu ne fermes pas tes connexions, ni tes commandes, ni tes readers. C'est très mal. Tu peux te renseigner sur le mot-clé using.
- qte_annuelle='200'. Je suppose que qte_annuelle est un entier. Pas de quote autour de 200 (même chose pour code_client).
- ConnectBase.getinstance().Connection(). Merci de commencer tes méthodes, propriétés, événements, classes, interfaces, namespaces et énumérations (je crois qu'il ne manque rien) par des majuscules, et bien sûr, chaque autre mot doit également commencer par une majuscule.
De plus, en C#, les getters sans paramètre (GetMachin()) doivent plutôt être remplacés par une propriété. Enfin, le nom d'une méthode doit commencer par un verbe (pas "Connection()").
Même si je n'ai pas le code derrière, je pense que ton appel devrait plutôt ressembler à ça : ConnectBase.Instance.Connect()
Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -