Use a parametrized query instead - and feed it the converted price you did earlier. You are doing the conversion anyway, so why not use the value properly?
int i = Convert.ToInt32( price );
if (i < 500)
{
SqlCommand cmd = new SqlCommand("select pro_img,pro_name,price from product where price=@PR and status='A' and type='retail'", con);
cmp.Parameters.AddWithValue("@PR", i);