我使用SQLDataSource
将GridView
绑定到GridView.DataBind()
,这些查询通常需要很长时间才能执行。
哪些代码会取消正在进行的DataBind()
?
我似乎无法找到任何方法来停止DataBind()
甚至关闭数据库连接。
重新绑定尝试:
myConn.ConnectionsString = ""
myConn.SelectCommand = ""
myGrid.DataSource = Nothing
myGrid.DataBind()
处理尝试
myConn.Dispose()
myGrid.Dispose()
两种尝试都没有实际关闭连接。 Oracle仍表示它仍然连接并执行查询。
答案 0 :(得分:1)
如何从不同的方向解决问题。您是否考虑过通过更改连接和子查询来优化查询,或者只是通过拉取更少的数据,可能是基于页面上的其他输入?
答案 1 :(得分:0)
您可以手动绑定GridView,这样您就可以在绑定过程中插入逻辑,以允许您退出该过程。
为此,请订阅GridView的onDataBinding事件。
您可以在此处阅读有关手动绑定GridView的更多信息:http://www.aarongoldenthal.com/post/2009/04/19/Manually-Databinding-a-GridView.aspx
答案 2 :(得分:0)
我同意Dave,虽然我建议在这种情况下进行分页。有许多变化,但我在这里的第一种方法是限制一次拉回特定数量的行数。尝试建立连接,然后如果它没有及时响应就打破它只会让你的应用程序用户感到沮丧。
这篇文章可能会帮助您入门。
答案 3 :(得分:0)
使用{}块适合这种情况。使用您的连接使用块
答案 4 :(得分:-1)
关闭Connection并释放所有资源。
myConn.Close();
myConn.Dispose();