Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les données sont nulles. Cette méthode ou propriété ne peut pas être appelée sur des valeurs nulles. (à l'aide de la liste déroulante)

Lorsqu'un ou plusieurs de vos champs contiennent une valeur NULL (DBNull.Value), vous ne pouvez pas utiliser GetString sur eux.
Vous devez vérifier s'ils sont nuls à l'aide de la méthode IsDBNull et choisir la valeur que vous souhaitez mettre dans la zone de texte à la place. Il s'agit généralement d'une chaîne vide

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    string constring = "datasource=localhost;port=3306;username=root;password=root";
    string Query = "SELECT * from database.check WHERE patientname IS NOT NULL";
    using(MySqlConnection conDataBase = new MySqlConnection(constring))
    using(MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase))
    {
        try
        {
            conDataBase.Open();
            using(MySqlDataReader myReader = cmdDataBase.ExecuteReader())
            {
                int namePos = myReader.GetOrdinal("namethestore");
                int checkerPos = myReader.GetOrdinal("checkername");
                while (myReader.Read())
                {
                    string namethestore = myReader.IsDBNull(namePos) 
                                          ? string.Empty 
                                          : myReader.GetString("namethestore");
                    string checkername = myReader.IsDBNull(checkerPos) 
                                          ? string.Empty
                                          : myReader.GetString("checkername");
                    this.textBox65.Text = namethestore;
                    this.textBox66.Text = checkername;
                }
           }
      }
}

Je suggère également d'utiliser l'instruction using autour des objets jetables. Cela garantira une fermeture et une élimination correctes lorsque vous n'en aurez plus besoin, même en cas d'exceptions.....