none
SQL data reader cast smallint en int RRS feed

  • Question

  • Bonjour,

    J'essaye de récupérer en base de données sql server une donnée en type smallint à l'aide d'un data reader mais le cat ne fonctionne pas:

                   while (reader.Read())
                    {
                        int calloutPrice = (Int32)reader.GetInt16(reader.GetOrdinal("accroche_prix_a_partir"));
                        int percentagePrice = (Int32)reader.GetInt16(reader.GetOrdinal("accroche_prix_jusqua"));                                                       }                                                                                                                                                                            J'ai une erreur mais j'ai beau essayer de remplacer le int par short çà ne fonctionne pas... Quelqu'un a déjà eu ce problème??        Merci.

    lundi 21 mars 2016 21:27

Réponses

  • Bonjour,

    Faites un :

    var calloutPrice = reader["accroche_prix_a_partir"];
    Debug.WriteLine(calloutPrice.GetType().Name);

    Et vous saurez alors le type réellement retourné. Vous pourrez alors faire le casting qu'il vous faut.

    Après, vous pouvez faire "le bourrin" et un :

    var calloutPrice = Convert.ToInt(reader["accroche_prix_a_partir"]);

    Une autre remarque, êtes-vous sur qu'il y a une donnée ? Ce n'est pas un DbNull.Value ?


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mardi 22 mars 2016 17:28