首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

SqlHelper类中返回一个Reader对象方法中SqlDataReader可以用using创...

发布网友 发布时间: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);

...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com