Nombre d'enregistrements retournés par un Sqldatasource

cs_Pipi Messages postés 9 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 janvier 2007 - 9 janv. 2007 à 20:18
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 - 10 janv. 2007 à 12:38
Bonjour,

Je développe actuellement ma première application en ASP.net, et je fais face a un petit problème. J'utilise SQL Serveur, et mon code est en  C#.

A l'aide d'un SqlDataSource, je rempli une DropDownList. J'aimerais pouvoir connaitre le nombre d'enregistrements que ma requête SQL renvoie, je n'ai pas trouvé de méthode permettant de le faire sur le SqlDatasource, et la fonction MyDDL.Items.count(), ne semble pas fonctionner dans mon cas...

Toujours pouur résoudre mon pb, comment puis-je effectuer à l'aide d'un SQLDataSource une requete SQL du type : SELECT Count(*) AS resultat from Table et récupéré la valeur de mon champ résultat, mais sans l'afficher (j'en ai besoin juste pour des tests!)?

Comment puis-je faire svp?

Je vous remercie d'avance pour votre réponse.

6 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 janv. 2007 à 20:51
Bonsoir,

tu peux classiquement faire un nouveau SqlCommand, SqlConnection etc...

using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TaConnection"].ConnectionString))
using(SqlCommand command = new SqlCommand("select count * from T_toto", conn))
{
   conn.open();
   int c = (int)command.ExecuteScalar(); 
   conn.close();
}

<hr />Cyril - MVS - MCP
0
cs_Pipi Messages postés 9 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 janvier 2007
10 janv. 2007 à 01:17
Merci bcp! j'ai réussi a faire ce que je voulais avec ca!
Mais il n''existe donc pas une méthode permettant d'utiliser directement ma requete du sqldatasource?
Le SqlDataSource s'utilise uniquement pour lier des données à un controle?

Merci de m'éclaircir si vous le pouvez!
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 janv. 2007 à 09:21
Le SQLDataSource sert principalement pour le binding d'un contrôle, il est peut etre possible de récuperer des infos dans le code behind mais je n'utilise que très rarement cet objet donc je ne peux pas te dire.

La solution la plus propre reste l'utilisation d'un ObjectDataSource pour effectuer ton binding et d'utiliser directement l'objet dans le code-behind.

<hr />Cyril - MVS - MCP
0
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 1
10 janv. 2007 à 10:25
Hello à tous les deux,

J'arrive un peu après la bataille, mais avec quelque chose de propre.
Un controle SqlDataSource a un événement qui s'appelle "Selected" dans lequel il passe un "SqlDataSourceStatusEventArgs" qui a une propriété qui s'appelle "AffectedRows" :

Protected
Sub SqlDataSource1_Selected(
ByVal sender
As
Object,
ByVal e
As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs)
Handles SqlDataSource1.SelectedResponse.Write(e.AffectedRows)

End
SubBon code,

TiK - MCSD.NET
http://www.blogatik.com/
http://www.objectif-services.com/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Pipi Messages postés 9 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 janvier 2007
10 janv. 2007 à 12:35
Merci Tikrimi,

Mais pourrais tu me donner la syntaxe en C#, car je ne vois pas ce qu'est le Handles !

Merci:!
0
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 1
10 janv. 2007 à 12:38
Ben logiquement, tu as juste à doublecliquer sur ton datasource puis à choisir le bon événement.

TiK - MCSD.NET
http://www.blogatik.com/
http://www.objectif-services.com/
0
Rejoignez-nous