When you use =,!=, <, <= , >, >= in where clause you can compare it(here uocNo) to only one value , but in your query it`s return more than one value.(Try to run this
select uocNo from UnitConversionProduct "+
"where UnitConversionProduct.ProductNo=@ProductNo
you will get more than one value.) For solutions you have to ensure that subquery must return only one value. I think you must have multiple value for single ProductNo.