这两种效率哪一种更高?关于数据库连接和关闭
1、每次打开数据库后关闭数据库,这时,如果一个页面有多个过程需要操作数据库,不是要打开多次和关闭多次? 
 2、一次打开,最后关闭。但是比如说按钮事件等等,是不是每个有可能操作完的地方都要+加关闭和数据库语句?   
 哪一次效率更高些呢?谢谢
------解决方案--------------------在ADO.Net中﹐相同的連接多次開啟和關閑是沒有多大影響的﹐不會影響速度。(好象叫連接池功能吧)
------解决方案--------------------个人认为 
 LZ应该把数据库的连接开启、关闭对应单个操作 而不是单个页面的所有操作 
 为了尽量减少不同操作的耦合性 
 最好为每个操作开启连接 
 这样的好处就是 你不用老是去分析 执行某个操作前是否需要开启连接 是不是前面有操作已经开启了连接 
 说得有点口水话 见谅
------解决方案--------------------同意楼上的
------解决方案--------------------``一般一个页面如果要打开几次数据库连接,做不同的操作..我一般就让他一直开着..等到全部用完在关闭..不知道这样好不好..
------解决方案--------------------打开和关闭数据库是最占资源的
------解决方案--------------------长时间保持数据库的连接占用的资源更大,影响性能   
 个人觉得对数据库的连接应要用的时候打开,用完就关闭   
------解决方案--------------------应该在每次使用前打开,使用完关闭。这样不会出现一页代码用完,其中有忘记关闭的情况出现,NET中的回收是很慢的,有没有关闭的连接是很影响效率的,相反,同一个连接,多次打开关闭并不会太大影响效率
------解决方案--------------------什么叫相同的连接呢? 
 我把数据库连接部份单独写了一个类文件 
 每次使用的时候是先创建这个类,比如 
 clsDatabase db = new clsDatabase(); 
 cmd.Connection=db.getConn(); 
 用完后采用db.CloseDB(); 
 总觉得每次需要连接数据库的时候都要创建一个类,然用产生一个链接。。。感觉好像很费资源似的     
 为什么不把这个class定义为静态的呢? 
 其实我对class定义的时候什么时候该定义成静态,什么时候定义成常规类很是迷惑,朋友们解答一下。 
------解决方案--------------------不可定义为静态, 
 如果定义为静态后,只会有一个SqlConnection实例了 
 静态成员属于对象而不是实例 
 于实例无关的可以定义为静态的
------解决方案--------------------try 
 { 
   using(SqlConnection conn = new SqlConnnection(source)) 
     { 
        conn.Open(); 
        // Do something 
        conn.Close(); // this is not imperative,  "using " insures against the rish of forgetting to close conn 
      } 
 } 
 catch(Exception e) 
 { 
 }
------解决方案--------------------打开连接-> SQL操作-> 关闭连接 
 这是Web程序最通常的作法. 
 还有就是最好是分层,在按钮事件里应该是去调用逻辑层的方法来进行数据库操作. 
 如: 
 void BtnSave(object sender,EventArge e) 
 { 
   if(ValidateSave()) 
   { 
     UserEntity user = New UserEntity(); 
     user.Name = TxtUser.Text; 
     user.Sex = TxtSex.Text; 
     user.Save(); 
   } 
 }   
 所有数据库操作应该就在UserEntity的Save()方法,在这个方法里打开数据库连接,进行保存,然后关闭连接.
------解决方案--------------------up...
------解决方案--------------------.NET里面有个连接池的不要忽略了哦..这个作用非常大的.. 
 你所谓的关闭其实并不是关闭数据库连接,其实还保存在连接池里的..   
 等下次调用的时候直接调用连接池的东西..   
 在你使用完资源之后记得释放资源哦. 
 .Close()并不是关闭数据库连接,,其实是释放资源..
------解决方案--------------------什么时候使用,就什么时候打开,用完就关闭
------解决方案--------------------其实还是马上哪个关闭好    
 要是想节省资源 那就使用ipc信道  把逻辑层 和数据层放到不同的进程内.   
 并实现soa 在逻辑层和数据层各自实现缓存每个进程上可以一4g的缓存那. 减少连接数据库的次数.
------解决方案--------------------用完就关
------解决方案--------------------用的時候打開,在PageUnLoad事件中判斷Connection鏈接狀態,打開時就關閉,這樣可以嗎?
------解决方案--------------------