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 :

DataSet typé et string null


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Points : 122
    Points
    122
    Par défaut DataSet typé et string null
    Salut,

    Dans une table "Ligne" d'un dataset typé j'ai une colonne "Centre" (string dont la valeur AllowDBNull est à True avec la DefaultValue à "<DBNull>").

    Toutefois, dans le code suivant, drLigne.Centre me retourne
    'drLigne.Centre' threw an exception of type System.Data.StrongTypingException'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                public void LigneRowChangingEvent(object sender, DataRowChangeEventArgs e)
                {
                    DataSetParcelles.LigneRow drLigne = (DataSetParcelles.LigneRow)e.Row;
                    if (e.Action == DataRowAction.Change)
                    {
                        if (string.IsNullOrEmpty(drLigne.Centre))
                            e.Row.RowError = "";
                        else
                        {
                          ...
    Je ne comprend pas le problème puisque la colonne "Centre" peut (et doit pouvoir) être null.

    Merci de vos z'avis z'avisés.
    Il n'y a pas de problèmes. Il n'y a que des solutions.
    Malheureusement, elles sont parfois un peu dur à trouver ...


    Aucune touche n'a été maltraitée pour réaliser ce texte.

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Points : 122
    Points
    122
    Par défaut
    Évidemment, il faut mettre le NullValue de la colonne à "(Null)" et non "(Throw Exception)", qui est la valeur par défaut et qui ne se modifie pas automatiquement lorsqu'on met le "AllowDBNull" à True.

    Il fallait le savoir et je ne connaissais pas cette variable.

    Je post la réponse, au cas où d'autres auraient le même problème.

    Merci à ceux qui ont pris le temps de lire ma question afin de m'aider.
    Il n'y a pas de problèmes. Il n'y a que des solutions.
    Malheureusement, elles sont parfois un peu dur à trouver ...


    Aucune touche n'a été maltraitée pour réaliser ce texte.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Une autre option est de tester si la valeur est null :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (drLigne.IsCentreNull())
        ...

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Points : 122
    Points
    122
    Par défaut
    Merci de cette réponse supplémentaire Tomlev. Je ne savais pas. Je pensais que comme null était refusé (créait un erreur), le IsCentreNull aurait fait de même.
    Il n'y a pas de problèmes. Il n'y a que des solutions.
    Malheureusement, elles sont parfois un peu dur à trouver ...


    Aucune touche n'a été maltraitée pour réaliser ce texte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ADO.NET][C#]Comment forcer Fill correct de DataSet typé ?
    Par Manralf dans le forum Accès aux données
    Réponses: 23
    Dernier message: 21/02/2006, 09h50
  2. Fichier typé et string
    Par nmathon dans le forum Langage
    Réponses: 4
    Dernier message: 13/01/2006, 15h55
  3. transformer un buffer non typé en string
    Par bjl dans le forum Langage
    Réponses: 6
    Dernier message: 07/01/2006, 12h14
  4. [VS2005][C#] Delete sur un Dataset typé
    Par Xno dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/09/2005, 18h13
  5. [C#] Récup champ IMAGE SQLServer avec un DataSet Typé
    Par SoaB dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/07/2005, 14h53

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