IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

System.Data.IDataReader : Decimal's scale value must be between 0 and 28, inclusive


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut System.Data.IDataReader : Decimal's scale value must be between 0 and 28, inclusive
    Bonsoir à tous,

    J'ai des colonnes historiques en Float sous Oracle (128 digits par défaut) et j'utilise une framework de persistance maison (donc j'ai les sources) et lorsque par malheur j'ai des valeurs de + de 28 chiffres et que je les bind avec du Decimal C#... je suis marron au niveau du binding j'obtiens l'erreur:
    Decimal's scale value must be between 0 and 28, inclusive
    le code incriminé dans la framework:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IDataReader reader;
    reader.Read();
    reader[indexColonne] // des que j'ai besoin d’accéder au données à travers cette ligne  -> je peux potentiellement avoir ma fameuse erreur !
    Y a t'il une astuce autre que de modifier la colonne dans la base de données?
    J'ai essayer de tripatouiller le reader avec un getvalue... ou autre mais il ne veut rien savoir car il veut absolument faire la conversion en Decimal (normal... vu que je l'ai déclaré en decimal)
    Puis je mettre un attribut magique sur la propriété ? afin d’éviter ça ?
    Ou une autre astuce de code ?

    merci !

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myvalue = (decimal)(OracleDecimal.SetPrecision(oraReader.GetOracleDecimal(0), 28));

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    Nathanael Marchand
    Cool pour ta réponse rapide,
    seulement, c'est du code de binding censé être générique (multi-base), la c'est un oraReader...

    tu me conseils quoi ?
    de garder IDataReader générique,
    puis de catcher l’exception, de caster en OraReader puis d'appeler ta méthode ?

Discussions similaires

  1. [CR XI] Erreur:"subscript must be between 1 and size of the array"
    Par lozeba dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/05/2010, 18h30
  2. ORA-01841: year must be between -4713 and +9999
    Par nathbot dans le forum SQL
    Réponses: 3
    Dernier message: 18/12/2007, 13h57
  3. [C# 2.0/WIN CE 5.0] Pourquoi System.Data.SqlClient est introuvable ?
    Par Jones dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/07/2006, 09h14
  4. [VB.NET] Ou importer les namespaces com System.data.. ?
    Par beegees dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/06/2006, 11h06
  5. Réponses: 4
    Dernier message: 22/05/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo