问题描述
在一个前台展现页面show.aspx中,有多个ListView,绑定多个数据源ObjectDataSource,这多个数据源都是连到一个数据库中的多个不同的表中。当用户访问这个页面的时候,后台就会进行数据库的连接。请问,是有多少个数据源,就有多少个SqlConnection连接对象建立吗?
解决方案
解决方案二:
引用楼主的回复:
在一个前台展现页面show.aspx中,有多个ListView,绑定多个数据源ObjectDataSource,这多个数据源都是连到一个数据库中的多个不同的表中。当用户访问这个页面的时候,后台就会进行数据库的连接。请问,是有多少个数据源,就有多少个SqlConnection连接对象建立吗?
问题补充:在前台的User.aspx页面中用来展示数据库中存放的所有的用户信息,通过ListView做成表格来展现,在每一行的最后都有一个checkbox,现在增加了批量删除功能,即点击删除按钮后,所以,选中的行对应的User都会被删除,点击这个按钮后,传到服务器会调用User.aspx.cs中的delete()方法,delete方法中,调用BLL层的delete方法,进而调用了DAL层的方法进行了数据库的连接,删除数据后就又关闭了。而delete方法执行完成后,就会又回到User.aspx页面进行剩余用户的展现。那么,我在delete方法中是不是应该重新绑定一下,这样,才会重新连接数据库获取数据进行展现。也就是说,我如果不重新绑定的话,页面是没有变化的,被删除的内容依然会显示出来。重新绑定的话,那么,就在这一个方法中,两次进行了数据库的连接是吧。先是删除操作时连接了又关闭了,然后就是重新绑定的操作连接了有关闭了,是吗?
解决方案三:
我建议你如果用ObjectDataSource绑定数据源的话,可以直接用LinqtoSQL做比较简单,直接将数据绑定到控件上就行了,不需要那么麻烦的创建SqlConnection连接,但是此方法的性能较差。
解决方案四:
SqlConnection连接后要关闭他,只要不用sqldatareader,就不会一直连接的
解决方案五:
删除后是要重新绑定的,重新绑定就要执行打开数据库,关闭数据库这个过程,你不用担心这个过程会花费多长时间,只要你的SQL语句写的好,页面方法写的好,速度是瞬间完成的