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 :
- public float ca_total(int ReportId){
- SqlCommand MyCommand;
- SqlDataReader MyReader;
- float CartSum=0;
- 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);
- MyCommand.Parameters.Add(new SqlParameter("@ReportId", SqlDbType.Int, 100));
- MyCommand.Parameters["@ReportId"].Value = ReportId;
-
- MyReader = MyCommand.ExecuteReader();
- if (MyReader.HasRows){
- MyReader.Read();
- if (MyReader.IsDBNull(0))
- CartSum = 0;
- else
- CartSum = MyReader.GetFloat(0);
- }
- Response.Write("<br>"+CartSum);
- MyReader.Close();
- return CartSum;
- }
|
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!