Как работать с нулевым входящим из базы данных

Я получаю эту ошибку

Этот метод или свойство не могут быть вызваны значениями Null

на этой строке id = rd.GetString(0); , Как его решить?

public string MaxId()
{
 string id = "";

 con.Open();
 string sql = "SELECT MAX(id) FROM Customer";
 SqlCommand cmd = new SqlCommand(sql, con);
 SqlDataReader rd = cmd.ExecuteReader();
 while (rd.Read()){
 id = rd.GetString(0);
 }
 con.Close();
 return id;
}
1 ответ

Добавь это

!rd.IsDBNull(0)

до

id = rd.GetString(0);

Таким образом, ваш код будет выглядеть так:

public string MaxId()

 {
 string id = "";

 con.Open();
 string sql = "SELECT MAX(id) FROM Customer";
 SqlCommand cmd = new SqlCommand(sql, con);
 SqlDataReader rd = cmd.ExecuteReader();
 while (rd.Read())

 {
 if(!rd.IsDBNull(0))
 id = rd.GetString(0);
 }
 con.Close();
 return id;

licensed under cc by-sa 3.0 with attribution.