parts.partnumber=parts_md.partnumber ";
    if (cls_ItemMd.partnumber != "")
        strSQL = strSQL + " and parts_md.partnumber like N'%" + (string)cls_ItemMd.partnumber + "%'";
--------------------------------------
问题在这里,你已经有了parts.partnumber=parts_md.partnumber(本人看不出,这个条件有什么用处)
为什么还有parts_md.partnumber like N'%" + (string)cls_ItemMd.partnumber + "%'";