sqlconnection对象的问题 我在一个类中只声明一个sqlconnnection对象,并且这个类里面有很多访问数据库的函数,每个访问数据库的函数都共用这个sqlconnection对象,每执行一个访问数据库的函数就直接打开然后再关闭sqlconnection对象,这样做有没有什么不妥? 恳请大家赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不好,你还要考虑互斥访问。sqlconnection自己有连接池的,你只管用时连接,不用时关闭就可以了 对于SqlServer来说,不要共同使用同一个连接,只要保证每次打开一个连接后使用Close关闭就可以了.SqlServer是会自动的来管理它的链接池的. 不要再每个函数中打开关闭,这样如果要同时调用1个类中的几个函数,就要打开、关闭几次链接了。先你的类继承class1继承IDisposable接口可以在函数中打开链接(打开前要判断是否已经打开),但不要关闭,在类的public void Dispose()方法中关闭链接,这个方法是继承IDisposable有的,然后是使用class1的时候这样使用就行了using(class1 cls = new class1()){ //调用class1中的函数}这样再using完的时候会自动调用Dispose方法来关闭链接。 还有我的SqlCommand对象也是这样做的,sqlcommand对象也不能这样做吗? 都不行。你想想在多线程的时候这种用法会出现什么情况,或者,你在方法A里使用这些对象的过程中需要调用方法B,而方法B也要使用这些对象,这时候,你怎么办? 用完了就要关闭,ADO.Net自己会管理连接池的.其实conn.Close并不是真的关闭了连接,它只是把这个连接放到连接池里去了.http://msdn2.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection(VS.80).aspx winform上时钟导致界面关闭按钮不可用的问题 textbox 弱弱的问下,textbox里面怎么同时显示字和图片? VS2005 远程连接 SQL Server2000 提示"服务器连接超时" 求多边形直角缓冲线算法 新手很菜的问题,关于c#的水晶报表打印。希望有人能回答:) 简单的窗体背景问题 DataGrid删除记录问题,急! C#小问题:显示另外窗体,都不会做!真烦 C# xp运行正常,win7 win8出现无法加载DLL,动态链接库初始化例程失败 c#中可以做像MMC那像的界面吗? dataSet中的字增量关联问题
sqlconnection自己有连接池的,你只管用时连接,不用时关闭就可以了
可以在函数中打开链接(打开前要判断是否已经打开),但不要关闭,
在类的public void Dispose()方法中关闭链接,这个方法是继承IDisposable有的,
然后是使用class1的时候这样使用就行了
using(class1 cls = new class1())
{
//调用class1中的函数
}这样再using完的时候会自动调用Dispose方法来关闭链接。
其实conn.Close并不是真的关闭了连接,它只是把这个连接放到连接池里去了.
http://msdn2.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection(VS.80).aspx