发布网友 发布时间:2022-04-25 15:13
共1个回答
热心网友 时间:2022-04-08 09:03
不能这么写,代码执行到using结尾处会关闭释放连接资源,这样你返回的读取器永远为空;但如果你不关闭连接,也会导致问题!
如果你坚持使用SqlDataReader而非DataSet或DataTable缓存式结果的话,理想的处理办法是,先将SqlDataReader结果集返回,在读取使用后再关闭。
微软已经帮你考虑到这一点,不要使用using,也不要显式的写conn.Close(),而是在获取DataReader时做点小手脚即可:
...
sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);...