.NET中oledb访问access含子查询的语句的参数置换顺序

花了一上午才找到原因:

用OLEDB访问ACCESS时,含子查询的语句如:

select ... from t1 where a=? and not exists (select * from t2 where b=t1.b and c=?)

第二个占位符(即子查询中的?)会先获取,因此 OleDbDataAdapter.SelectCommand.Parameters.Add(...) 要先添加子查询中的参数。

原文地址:https://www.cnblogs.com/amonw/p/55836.html