Perhaps, if you removed the comment markers:
so it read:
cmd.Parameters.Add("@i", SqlDbType.SmallInt).VAlue = myIParam;
cmd.Parameters.Add("@s", SqlDbType.SmallInt).Value = mySParam;
Perhaps it wouldn't complain that you aren't providing the parameters you told it it needed?