sql >> Databáze >  >> RDS >> Mysql

Data jsou Null. Tuto metodu nebo vlastnost nelze volat na hodnoty null. (pomocí rozbalovacího seznamu)

Pokud jedno nebo více vašich polí obsahuje hodnotu NULL (DBNull.Value), nemůžete použít GetString na nich.
Musíte zkontrolovat, zda jsou null pomocí metody IsDBNull a zvolit, jakou hodnotu chcete do textového pole místo toho vložit. Obvykle je to prázdný řetězec

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;
                }
           }
      }
}

Doporučuji také použít používání kolem jednorázových předmětů. To zajistí řádné uzavření a likvidaci, když je již nepotřebujete, a to i v případě výjimek.....




  1. SQLite transakce

  2. Git Branching Naming Convention:Best Practices

  3. Jak rozdělit řetězec pomocí oddělovacího znaku pomocí T-SQL?

  4. Úskalí, kterým je třeba se vyhnout při používání nového Microsoft SSMA verze 7.8