0

I'm getting this error

This method or property cannot be called on Null values

on this line id = rd.GetString(0);. How to solve it?

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;
}
Ondrej Janacek
  • 12,486
  • 14
  • 59
  • 93
Raine
  • 1

1 Answers1

2

add this

!rd.IsDBNull(0)

before

id = rd.GetString(0);

So, your code would look like

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;
Ehsan
  • 31,833
  • 6
  • 56
  • 65