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 :

Mysql et les valeurs NULL [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juin 2014
    Messages : 36
    Par défaut Mysql et les valeurs NULL
    bonjour

    je suis sur visual studio 2013
    le pc client et sur un windows 8.1 et le serveur linux ubuntu base de données MYSQL
    je suis débutant dans visual c#
    j'ai écrit ce code qui fonctionne très bien sauf que des fois la base de données possède des tables avec des lignes a valeur NULL

    ce qui me donne ce message
    Nom : Capture.PNG
Affichages : 621
Taille : 14,5 Ko

    et voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string constring = "datasource = ALDEBARAN; port = 3306; username = root; password = azerty";
                string Query = "select * from phone.Table1 where ID_table = '" + comboBox1.Text + "' ;";
                MySqlConnection conDatabase = new MySqlConnection(constring);
                MySqlCommand cmdDataBase = new MySqlCommand(Query, conDatabase);
                MySqlDataReader myReader;
     
                try
                {
                    conDatabase.Open();
                    myReader = cmdDataBase.ExecuteReader();
     
                    while (myReader.Read())
                    {
                        string ssid = myReader.GetInt32("ID_table").ToString();
                        string sSoc = myReader.GetString("Societer");
                        textBox4.Text = sSoc;
     
                    }
     
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    J'ai essayer de chercher mais je n'ai pas trouver.
    Aurait t'il une astuce de modifier ce code pour accepter les valeur NULL

    merci pour vos réponses

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    l'exception pourrait venir de ton DataReader qui est null ou de ton 'ID_table', pour être sûr il faudrait le nom exact de l'exception.
    Pour info quand même, il est possible de savoir si une valeur renvoyée par MySql est DBNull (différent de null) avec la fonction IsDBNull.

  3. #3
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juin 2014
    Messages : 36
    Par défaut
    Bonjour

    Oui mon exception et un problème avec mon datareader qui et null.

    Le problème et que je ne sais pas comment faire pour qui ne bloque pas avec une valeur null.

    Quant a mon ID_table c'est une clef primaire avec incrémentation.

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    C'est que la fonction MySqlCommand.ExecuteReader() renvoie null
    (du coup tu peux pas appeler d'attribut/fonction membre sur le MySqlDataReader récupéré, vu qu'il n'existe pas).

    Déjà cela pourrait venir du fait que tu n'ouvres pas ta connexion (MySqlConnection.Open()) avant de requêter dessus ...
    Et n'oublie pas de la fermer après tes manip' (MySqlConnection.Close()).

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    je ne spéculerais pas autant, et rien de sert de faire des hypothèses quand on est dans ce cas, il peux afficher ex.stacktrace dans le message box pour avoir la ligne qui passe en erreur et ainsi être fixé
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juin 2014
    Messages : 36
    Par défaut
    bonjour

    Si ma connexion fonctionne car si il y a une valeur dedans il me la retourne.

    Comme sur la photos.

    En faite dans ma boucle il faudrait un bout de code qui me teste les valeur null et ne remplie rien pour éviter l'erreur
    mais je ne sais pas comment l’écrire

  7. #7
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juin 2014
    Messages : 36
    Par défaut
    J'ai oublier de vous dire que le message d'erreur apparaît que quant il y a une valeur nul (donc sur la photo on voit une valeur dans Societer + le message)

    c'est par ce que j'ai été 2 fois sélectionner dans la combobox

    désoler

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    et lire ce qu'on te répond, non ?

    Citation Envoyé par jopopmk Voir le message
    Pour info quand même, il est possible de savoir si une valeur renvoyée par MySql est DBNull (différent de null) avec la fonction IsDBNull.
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juin 2014
    Messages : 36
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    et lire ce qu'on te répond, non ?
    ne soit pas agressif avec moi.

    je suis un débutant et pas un pros comme toi.

    ton histoire de IsDBNull. je ne sais pas comment l’interpréter jai l'impression que avec MYSQL c'est pas tous a fais pareil que SQL serveur.

  10. #10
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    je n'étais pas agressif, mais juste interrogatif

    qu'est-ce qui te fais dire que ce n'est pas pareil ?

    sinon avec google tu peux trouver ta réponse plus rapidement qu'ici ... (mysql test dbnull C#)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Ton exception n'est donc pas le DataReader qui est null et l'exception n'est pas levée lors de l'appel à MySqlDataReader.Read().
    Sinon, si tu lis la définition de MySqlDataReader (je te conseille de regarder la doc off') tu verras qu'il est dérivé (entre autre) de la classe IDataRecord.
    Il possède donc nécessairement cette fonctionnalité IsDBNull

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

Discussions similaires

  1. Les jointures... et les valeurs nulles !
    Par PJ_56 dans le forum SQL
    Réponses: 2
    Dernier message: 25/04/2006, 23h33
  2. [Excel] Ne pas tracer les valeurs nulles d'un graphe
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/02/2006, 19h00
  3. MySql et PHP : valeur NULL
    Par fffonck dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/02/2006, 17h02
  4. order by sans les valeurs NULL
    Par pendragon509 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/10/2005, 12h31
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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