【发布时间】:2011-04-28 14:37:16
【问题描述】:
我有一种情况,我弹出一个包含“请稍候”消息的对话框窗口,运行 SQL 查询,然后用包含收集结果的 DataGridView 替换“请稍候”消息。
我使用的代码基本上是:
Dim X As New Data.SqlClient.SqlCommand
X.CommandText = "SELECT some_data FROM someTable"
Dim XAdapter As New System.Data.SqlClient.SqlDataAdapter(X)
Dim XSet As New DataSet
XAdapter.Fill(XSet, "MyTable")
Me.someDataGridView.DataSource = XSet.Tables("MyTable").DefaultView
我想将这些数据的检索放到后台线程中,以便在我加载更大的数据集时 UI 不会冻结,但是,这样做之后,我还想允许用户如果访问数据的时间比他们想要等待的时间长,则取消并关闭对话框。
目前,此对话框窗口可以采用任意 SQL 字符串并显示结果(使用 SQLDataAdapter),无需任何额外代码。
我怎样才能使这个过程可中断,同时又保持 SQLDataAdapter 的易用性?
【问题讨论】:
标签: .net sql vb.net multithreading