david is the person whom/who i have known for a long time.应该用whom or who?还有其他语法错误吗?

问题描述:

david is the person whom/who i have known for a long time.应该用whom or who?还有其他语法错误吗?

who,i have known 不缺成分.