Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Daten sind Null. Diese Methode oder Eigenschaft kann nicht für Nullwerte aufgerufen werden. (mit Kombinationsfeld)

Wenn eines oder mehrere Ihrer Felder NULL (DBNull.Value) enthalten, können Sie GetString nicht verwenden auf ihnen.
Sie müssen mit der IsDBNull-Methode überprüfen, ob sie null sind, und auswählen, welchen Wert Sie stattdessen in das Textfeld eingeben möchten. Normalerweise ist es ein leerer String

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

Ich schlage vor, auch die using-Anweisung zu verwenden rund um die Wegwerfartikel. Dies gewährleistet ein ordnungsgemäßes Schließen und Entsorgen, wenn Sie sie nicht mehr benötigen, auch im Ausnahmefall.....