在一个方法内使用了三次 using(SqlXXXX=XXXX){}会有性能上的问题吗 ?

J_S_S 2007-07-30 10:30:50
我在一个方法内使用了三次using....
using (SqlDataReader sdrInfoType = SqlHelper.ExecuteReader(WebConfig.DbConnetionString, CommandType.Text, cmdSelectText))
{
....
....
}

using (SqlDataReader sdrInfo = SqlHelper.ExecuteReader(WebConfig.DbConnetionString, CommandType.Text, cmdSelectText))
{
....
....
}

using (SqlDataReader sdrInfoCategory = SqlHelper.ExecuteReader(WebConfig.DbConnetionString, CommandType.Text, cmdSelectText))
{
....
....
}

性能上或是其他方面有什么坏处吗 ?
...全文
239 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
J_S_S 2007-07-30
  • 打赏
  • 举报
回复
贴子回复次数大于跟给分次数

..............

嘛意思 ?

要我给自己分 ?
angelzjk 2007-07-30
  • 打赏
  • 举报
回复
有了using 可以不用close()
在using 结束的时候系统会把Reader 给Dispose掉的
J_S_S 2007-07-30
  • 打赏
  • 举报
回复
...

继续裸奔.
不关.

呵呵
J_S_S 2007-07-30
  • 打赏
  • 举报
回复
啊...

到底要不要执行 Close() 啊 ?

我原来是不执行的,
但 发现项目里太多那情况了.
怀疑自己ING.
J_S_S 2007-07-30
  • 打赏
  • 举报
回复
好了,

结贴.
littlegang 2007-07-30
  • 打赏
  • 举报
回复
.Close好像还是要执行的吧

当然一般好的.Dispose过程里通常也会做类似Close的动作
jimu8130 2007-07-30
  • 打赏
  • 举报
回复
sqldatareader现在相当于自动关闭了,所以你自己要注意读datareader的代码放置位置
J_S_S 2007-07-30
  • 打赏
  • 举报
回复
哦,
那我没必要在using块里执行 sdr.close() 了吧 ?

(我看到在项目中using块内别人经常执行...)
chuxue1342 2007-07-30
  • 打赏
  • 举报
回复
MARK学习!
chenguang79 2007-07-30
  • 打赏
  • 举报
回复
using只是一种先编译好的方法,对性能没有什么影响
Jinglecat 2007-07-30
  • 打赏
  • 举报
回复


只要你明白,使用 using 语句,编译帮你展开如下类似语句而已

try {
SqlDataReader sdrInfoType = SqlHelper.ExecuteReader(WebConfig.DbConnetionString, CommandType.Text, cmdSelectText);
// ...
} catch {
// ...
}finnally {
sdrInfoType.Dispose(); // finnally 块保证永远执行,即使 try 块抛出异常
}

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧