1.You are trying to read an int value from the DB that allow also NULL values, and your current field has NULL value in the database that is equivalent with
DBNull
in the C# code.
2.The solution is, that in your reader to manage this case like in the next example:
int stockQuantity = (reader["Stock"] == DBNull.Value ? 0 : (int)reader["Stock"]);