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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [.NET c#] exeption et probleme de cast

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[.NET c#] exeption et probleme de cast

n°1156918
herks
Posté le 22-07-2005 à 11:03:18  profilanswer
 

Bonjour a tous,
 
j'ai une fonctionne qui doit me retourner un float (qui est le resultat d'une requete SQL)
 
voici ma fonction:
 

Code :
  1. public float ca_total(int ReportId){
  2.       SqlCommand MyCommand;
  3.       SqlDataReader MyReader;
  4.       float CartSum=0;
  5.       MyCommand = new SqlCommand("SELECT SUM(wc.MontantPanier) FROM webtracking_ca wc INNER JOIN webtracking_stats ws ON wc.IdStats = ws.id WHERE ws.ReportId = @ReportId",MyConnection);
  6.       MyCommand.Parameters.Add(new SqlParameter("@ReportId", SqlDbType.Int, 100));
  7.       MyCommand.Parameters["@ReportId"].Value = ReportId;
  8.        
  9.       MyReader = MyCommand.ExecuteReader();
  10.       if (MyReader.HasRows){
  11.         MyReader.Read();
  12.         if (MyReader.IsDBNull(0))
  13.             CartSum = 0;
  14.         else
  15.             CartSum = MyReader.GetFloat(0);
  16.       }
  17.       Response.Write("<br>"+CartSum);
  18.       MyReader.Close();
  19.       return CartSum;
  20.     }


 
Le code est a priori bon, mais j'ai un probleme avec ma variable CartSum. En effet lorsque je la declare en int ca fonctionne (si je modifie aussi le CartSum = MyReader.GetFloat(0);
en CartSum = MyReader.Getint32(0);)
 
mais lorsque elle est en float ca ne marche pas. J'ai une exeption "Specified cast is not valid." sur la ligne CartSum = MyReader.GetFloat(0);
 
Je vois vraiment pas ou est le probleme ...
Merci de votre aide.
 
PS: je debute en c# donc si vous avez aussi des conseils a me donner au niveau de ma fonction je suis preneur!

mood
Publicité
Posté le 22-07-2005 à 11:03:18  profilanswer
 

n°1156996
Lanza
Free NaN
Posté le 22-07-2005 à 11:52:48  profilanswer
 

Ben à priori si ça marche pas c'est que c'est pas un float qui est retourné par ta requête.
 
Ton champ MontantPanier est il bien un float ?

n°1157013
herks
Posté le 22-07-2005 à 12:02:51  profilanswer
 

MontantPanier est bien un float de 8.
Et ma requete comme tu le vois additionne juste des float donc je vois vraiment pas se qui bug ....

n°1157043
Lanza
Free NaN
Posté le 22-07-2005 à 12:20:25  profilanswer
 

Fait voir un Response.Write( MyReader[0].GetType().ToString() ), il te donnera le type du champ.
 
Si c'est un float, il y a réellement un problème.


Message édité par Lanza le 22-07-2005 à 12:21:26
n°1157197
herks
Posté le 22-07-2005 à 14:22:28  profilanswer
 

Je me demande si mon probleme vient pas du fait que les float en c# s'ecrivent avec un . et en sql server avec une ,
 
Si oui commet faire pour que ca marche :)


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

  [.NET c#] exeption et probleme de cast

 

Sujets relatifs
problème avec barre de chargementProbléme avec method="post" et "get" (Résolu )
Problème avec le pied de pageprobleme de session
problème de modification d'une variable globale xslpetit probleme script de menu deroulant
[php-Xoops]Probleme de fichiers phpxx.tmp qui saturent le dossier tempProbleme de taille de l'animation lors de l'integration [RESOLU]
[NET][ASP.NET][C#] Lire fichier CSV en C#probleme clé etrangere
Plus de sujets relatifs à : [.NET c#] exeption et probleme de cast


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)