Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Os dados são nulos. Este método ou propriedade não pode ser chamado em valores nulos. (usando a caixa de combinação)


Quando um ou mais de seus campos contém um NULL (DBNull.Value), você não pode usar GetString sobre eles.
Você precisa verificar se eles são nulos usando o método IsDBNull e escolher qual valor você deseja colocar na caixa de texto. Normalmente é uma string vazia
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;
                }
           }
      }
}

Sugiro também usar a instrução de uso ao redor dos objetos descartáveis. Isso garantirá um fechamento e descarte adequados quando você não precisar mais deles, também em caso de exceções.....