永发信息网

asp.net 关于using语句的一些疑问

答案:1  悬赏:70  手机版
解决时间 2021-04-16 09:17

using有二种用法,一种是作为指令,用于引用命名空间;一种是作为语句,允许用户定义一个范围。

我的疑问就是第二点,在做ADO.NET的时候,定义SqlConnection作用范围,是否还用手工关闭连接,还有SqlDataReader对象

我看一些比较成熟的代码都是最后手工指定关闭,释放对象,请大家给我讲一下这个问题,一直比较疑惑,先感谢了。

最佳答案
可以使用 Using 块保证系统在代码退出该块时释放资源。如果正在使用消耗大量内存或其他组件也需要使用的系统资源时,这样处理十分有用。

代码完成数据库连接时释放数据库连接
确保在源文件的开始包含该数据库连接的适当 Imports 语句(.NET 命名空间和类型)(本例中为 System.Data.SqlClient)。

创建具有 Using 和 End Using 语句的 Using 块。在块中放入处理数据库连接的代码。
声明连接并创建其实例作为 Using 语句的一部分。
Imports System.Data.SqlClient

Public Sub AccessSql(ByVal s As String)
Using sqc As New System.Data.SqlClient.SqlConnection(s)
MsgBox("Connected with string """ & sqc.ConnectionString & """")
End Using
End Sub

无论退出块的方式如何(包括未处理异常的情况),系统都会释放该资源。

注意:不能从 Using 块外部访问 sqc,这是因为其范围只限于该块。
对系统资源(如文件句柄或 COM 包装)可以使用同样的方法。如果要确保退出 Using 块后其他组件还能使用资源,则可使用 Using 块。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的手机打不通了 总是说信号不好?
一个不爱让别人管的人会为某一个人改变吗?
曾轶可是不是中国90后另类一族?
关于沐浴的诗词
红瓦村地址在哪,我要去那里办事
求配一套QQ炫舞的YY
2009年新歌的妤听歌曲有吗?
现在有什么好听的歌啊....?
市场旁边一道便门头房6~7平方,干点啥好呀 ?
婚纱硬照是什么意思,穿着感轻便的国外婚纱品
沧州市万润房地产开发有限公司这个地址在什么
前高村地址有知道的么?有点事想过去
养元露露核桃露,鲁豫代言的那东西,零售多少
磨皮软件什么好
DNF45狂战士该穿什么轻甲(紫色)
推荐资讯
失去最爱,可以想以前那样开心吗?
谁帮我写小学英语第一节课老师的英语开场白是
气功师除了穿套装,还有什么别的穿吗?
千千阙歌 英文名
3.14……用文字怎么说?
急急急!我和几个人同时用张网卡,有路由器分
谁能理解前三三更后三三的意思?
喜欢动作电影的来回答啊
建设网银问题
女人要是没了男人会怎么样?
QQ幻想怎么灭
国道108绵阳至罗江通车了吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?