2

我将 a 绑定SQLDataSourceGridViewusingGridView.DataBind()并且这些查询通常需要很长时间才能执行。

什么代码会取消正在进行的DataBind()

我似乎找不到任何方法来停止DataBind()甚至关闭数据库连接。

重新绑定尝试:

myConn.ConnectionsString = ""
myConn.SelectCommand = ""
myGrid.DataSource = Nothing
myGrid.DataBind()

处置尝试

myConn.Dispose()
myGrid.Dispose()

两种尝试都没有真正关闭连接。Oracle 仍然表示它仍然连接并执行查询。

4

5 回答 5

1

如何从不同的方向解决问题。您是否考虑过通过更改连接和子查询来优化查询,或者只是通过提取更少的数据(可能基于页面上的其他输入)?

于 2009-12-21T16:30:52.803 回答
0

使用{} 块适合这种情况。通过 using 块使用您的连接

于 2009-12-21T21:54:50.687 回答
0

我同意戴夫的观点,尽管我建议在这种情况下进行分页。有很多变化,但我在这里的第一种方法是将一次拉回的行数限制为特定的数字。尝试建立连接,然后在它没有及时响应时断开它只会让您的应用程序用户感到沮丧。

这是一篇可以帮助您入门的帖子。

使用数据网格进行智能分页

于 2009-12-21T19:28:29.320 回答
0

您可以手动绑定 GridView,这将允许您将逻辑插入绑定过程以允许您退出该过程。

为此,请订阅 GridView 的 onDataBinding 事件。

您可以在此处阅读有关手动绑定 GridView 的更多信息:http ://www.aarongoldenthal.com/post/2009/04/19/Manually-Databinding-a-GridView.aspx

于 2009-12-16T18:11:23.983 回答
-1

只需关闭连接并释放所有资源。

myConn.Close();
myConn.Dispose();
于 2009-12-22T11:40:32.110 回答