sql datareader多线程访问时出错

Exception:
System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName)

使用Idatareader返回数据时,如果多个线程同时调用一个方法,可能返回的reader数据已经被修改,因此需要改为返回DataTable or dataRow.
而且如果多个地方调用同一个静态方法来返回数据对象,则在此方法中的DBCommand最好不要使用static对象.
最好的是这个方法也不要使用static,而是可以对象实例化的.虽然效率可能会低一点.


原文地址:https://www.cnblogs.com/margiex/p/1139666.html