using (SqlConnection connection = new SqlConnection(connectionString)){}
有什么好处啊??
你打开了数据库的链接 那就要关掉数据库的链接并释放其中占用的资源
不然你一个链接 不会体现出来什么问题 但是你要知道你的做的项目可能有好几千甚至更多
人链接 你一直占着资源不放 到一定的程度 数据库链接达到饱和 以后就连不上了
所有 using (SqlConnection connection = new SqlConnection(connectionString)){}
就是你再{}里面执行完以后系统会自动断开数据库的链接并释放资源
希望对你又帮助
确实,很有帮助呢!!我就是在找一个使用它的理由!
@呓语: 原来楼主是女的 而且比我小 不过你说给你一个理由
那我只能说和这个比较方便 而且安全性比较好 操作简单
其他只能说 个人爱好吧 你说我不用using也可以 但是后面自己 加上关掉和释放的语句是同样的效果
@唯吴独尊: OK OK 明白啦!在这行业刚刚起步,希望大侠们多多指教啊~~
用这个你就不必去关闭连接了 ,它会自行关闭连接
这样啊,可是在SqlHelper 里,就不可能实现只实例化一次connection对象咯?
@呓语: 可以用静态的撒
@呓语:我也不是很了解 你要做什么呢 好多ASP.NET 示例代码都是使用这个写法,先用着呗
@yuki tang: 使用静态的?你试试,并发一上来,不停的报错。
执行完成自动关闭链接
using一个实现了IDisposable接口的类,可以在using的scope结束时自动调用Dispose方法。比如:
class A : IDisposable
{
public void Dispose()
{
//do something
}
}
//然后
using(A a = new A())
{
//你的代码
} //在这里会自动调用a.Dispose();
//这样可以保证资源被及时释放掉了
正如楼上所说,对于实现了IDisposable接口的类,如果你不想用代码自己去释放他们的资源的话(例如调用Close()方法去释放资源),可以用Using来自动调用类的Dispose方法去释放资源。
不用写close了
建议不要使用using嵌套,使用try ...finally
使用using 释放资源要有所保留地使用。
加载资源和释放资源都是有成本的。如果你频繁的释放和加载资源会很影响你的程序运行速度。
“恰当的时候加载,恰当的时候释放。”
如果很多操作可以共用一个SqlConnection connection实例,建议保留改实例引用。
把握好加载和释放的时机,比如应用程序启动的时候就不适合同时也加载数据库,可以推迟到启动完成后加载,否则会形成速度瓶颈,影响用户体验。