日期:2014-05-18  浏览次数:21040 次

利用dateset和dateadapter进行增删改操作时数据库连接一直不释放吗?
利用dateset和dateadapter进行增删改操作时,应该是以下的步骤吧。
1 利用fill向填充dateset
2 将dateset数据显示在程序界面
3 用户在程序界面上进行增删改的操作
4 用户在程序见面点击 保存 按钮时,利用dateadapter的update等方法更新数据源
5 关闭数据库连接

想请问一下
a 在这整个操作过程中数据库连接一直都没有被关闭,一直到最后的第5步才会被关闭,
这岂不是非常影响数据库性能?
b 是不是ado.net自己会处理数据库连接的open 和close,只有在需要时才会open数据库连接。
也就是说,上面的1到4的过程中,并不是一直保持数据库连接的,而是在fill之后就把数据库连接给关闭了。
因此也就不存在问题a的问题。
c 如果是b中所说的那样的话,是不是就不需要第5步关闭数据库连接这句了啊?

多谢回答


------解决方案--------------------
使用dateadapter时不需要用到open和close因为它会自动处理这些过程,操作完了就会自动释放的
------解决方案--------------------
在第二步:2 将dateset数据显示在程序界面就可關閉連接

GC可自動回收,但這個需一定的時間,正常都需自動關閉

關閉數據庫並不是最後才關閉,你每你一次更新,刪除,新增,都應是新建連接,用完調用close關閉連接