我先用SqlDataReader reader = sqlCom.ExecuteReader(); 读取了一些数据。但我还需要查询数据库别的数据,就用了sqlCom.ExecuteScalar().ToString(); 但说要先关闭reader,我就想问一下,reader里的数据我还没用完,还需要用。如果我关闭了reader,会不会连reader里的数据也清除了?
调试欢乐多
ExecuteReader(CommandBehavior.CloseConnection)
为什么要一条一条读呢?不能一起读出来操作码?
那是因为你胡乱共享了SqlConnection,而跟DataReader无关。DataReader当让无需关闭,但是你不能胡乱用什么static的SqlConnection。实际上,对于这种盲目地以为什么static的SqlConnection的程序员,我们一直采取看笑话的态度。这缺乏基本的做产品的经验,也没有遇到一个真正有开发经验的老师。