Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1128 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Tester un DataSet ??????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Tester un DataSet ??????

n°1207917
le_duc
PlaTyPuS
Posté le 26-09-2005 à 18:24:05  profilanswer
 

yop yop
 
Je voulais savoir comment tester le résultat de l'exécution d'un DataSet....  par exemple :
 

Code :
  1. DataSet ds = db.ExecuteDataSet("CheckParticipants", idEvents, idPersonne);


 
Donc j'appelle ma procédure stockée "CheckParticipants"

Code :
  1. CREATE PROCEDURE CheckParticipants
  2. (
  3. @idEvents integer,
  4. @idPersonne integer
  5. )
  6. AS
  7. SELECT * FROM Participants WHERE idEvents = @idEvents AND idPersonne = @idPersonne
  8. GO


 
Ensuite dans mon code j'aimerais testé si qqch a été retourné ou pas! Mais là  :pt1cable:  :pt1cable:  :pt1cable:  
 

Code :
  1. // Comme ca? mais ca à pas l'air de marcher!
  2. if(ds.Tables.Count == 0)
  3. {
  4.        return errorMsg;
  5. }


 
Need help :D :)
 
Merci d'avance! @++

mood
Publicité
Posté le 26-09-2005 à 18:24:05  profilanswer
 

n°1207938
zetranber
Posté le 26-09-2005 à 18:44:29  profilanswer
 

Ben c'est simple. Utilise la propriété Count.
 
ds.Tables["ta table en retour"].Rows.Count

n°1207953
le_duc
PlaTyPuS
Posté le 26-09-2005 à 19:01:23  profilanswer
 

ouais mais justement si j'utilise ca :
 
ds.Tables[0].Rows.Count = 0
 
--> si y'a rien de retourné il me dit que Tables[0] n'existe pas..........................

n°1214773
_Mose_
Lonesome coder
Posté le 04-10-2005 à 17:29:43  profilanswer
 

Question bête : elle vient d'où cette méthode ?
Ca m'étonne un peu qu'il y a ait une méthode qui prenne exactement le bon nombre de paramètres pour ta procédure stockée à toi... surtout que cette méthode n'est pas dans la documentation du Framework SDK...
 
Sinon, les méthodes du framework elle marchent bien pour les procédures stockées ;)

n°1216484
le_duc
PlaTyPuS
Posté le 06-10-2005 à 13:10:26  profilanswer
 

euh, c'est koi les méthodes du framework???

n°1217848
_Mose_
Lonesome coder
Posté le 07-10-2005 à 16:42:42  profilanswer
 

public DataSet GetParticipants(SqlConnection dbconn)
{

  // Créer une commande sql
  SqlCommand cmd  = new SqlCommand("CheckParticipants", dbconn)

  // Lui dire que c'est une proc et pas une query
  cmd.CommandType = CommandType.StoredProcedure;
  // ajouter les parametres
  cmd.Parameters.Add(new SqlParameter(("@idEvents", idEvents));
  cmd.Parameters.Add(new SqlParameter(("@idPersonne", idPersonne));

  // Executer la proc
  SqlDataReader reader = cmd.ExecuteReader();
  // si ta proc a retourné qqch
  DataSet ds = null;
  if(reader != null)
  {

    // créer le DataSet
    ds = new DataSet();
    ds.Tables.Add("mes participants" );

    // lire les résultats  (avec "Nom" et "Prenom" des exemples de champs de ta table)    
    while (reader.Read())
    {
      DataRow dr = ds.Tables[0].NewRow();
      dr["Nom"] = reader["Nom"];
      dr["Prenom"] = reader["Prenom"];
    }
  }
  return ds;
}

 
Ahhh.... c'est plus long, c'est sûr... mais au moins :
- ca fonctionne
- tu peux coller du code de contrôle des valeurs retournées avant de remplir ton DataSet (Ca évite que la machine ne fasse n'importe quoi au moment du remplissage)
- tu sais exactement comment est rempli ton DataSet
Et tu peux toujours généraliser le mécanisme en faisant une méthode plus globale.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Tester un DataSet ??????

 

Sujets relatifs
[C# & ASP.NET] Ajouter des éléments à un DataSet ( + SelectionList)[C#] Boucle for sur DataSet ??
[SQL Server] Tester si un champ = 0 dans clause SELECTSql Server Tester si un fichier existe
tester si une variable est nul[résolu!]Tester des valeurs retournées par une requête
Tester une KEY d'un imagelisttester si les chanps sont vide en javascript
Comment supprimer une ligne d'un datasettester la validité de liens
Plus de sujets relatifs à : [C#] Tester un DataSet ??????


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR