Sql 在新线程中执行数据库方法
我正在VS2008中使用Vb.net win应用程序。我在一个表单中有四个选项卡,用于显示四个不同的reportsrdlc。我已经编写了四个不同的方法来一次获取每个报表的数据库数据,并在不同的线程中执行。每个选项卡都有一个下拉列表,它调用相同的方法来处理问题。rdlcin reportviewer首次显示数据,但在更改下拉值时,它没有显示任何数据。对于下拉列表,指存储在数据集中的本地处理的数据。那么,我能有什么解决办法吗?我在哪里犯了这个错误? 这是我的示例代码Sql 在新线程中执行数据库方法,sql,vb.net,multithreading,reporting-services,Sql,Vb.net,Multithreading,Reporting Services,我正在VS2008中使用Vb.net win应用程序。我在一个表单中有四个选项卡,用于显示四个不同的reportsrdlc。我已经编写了四个不同的方法来一次获取每个报表的数据库数据,并在不同的线程中执行。每个选项卡都有一个下拉列表,它调用相同的方法来处理问题。rdlcin reportviewer首次显示数据,但在更改下拉值时,它没有显示任何数据。对于下拉列表,指存储在数据集中的本地处理的数据。那么,我能有什么解决办法吗?我在哪里犯了这个错误? 这是我的示例代码 Try Dim athr
Try
Dim athread = New Thread(AddressOf BindReportSales)
athread.IsBackground = True
athread.Start()
Catch ex As Exception
MessageBox.Show(Me, ex.Message.ToString())
Finally
'athread.Abort()
End Try
BindReportSales是一个选项卡数据的方法名称
BindReportReceive是另一个名为Receive的选项卡的方法名称
BindReportSales方法包含一些业务逻辑。当选项卡中的下拉列表值更改时,它将不会再次转到数据库,而只是在加载表单时操作先前加载的数据集。提前感谢。我遇到的错误是创建窗口句柄时出错。您在哪里执行线程?你能发布异常的堆栈跟踪吗?听起来您可能正在表单的加载事件中执行它们。也许指定的控件尚未创建?谢谢您的回复。现在我使用后台工作进程,而不是创建一个新线程,我解决了我的问题。