求vb.net多线程下查询mysql(MySqlClient)例子

ryueiketu 2012-05-10 03:07:41
正常情况下(画面主线程下),用MySqlClient自带的MySqlHelper.ExecuteDataset访问mysql没啥问题,但是查询时间长,我想加个进度条,这就用到多线程了,我想把查询写到新开的线程中,可是有错误,每次报的错误也不一样,大致是:'System.FormatException'的句柄没有实例化在 mscorlib.dll中发生了。或者是'System.IndexOutOfRangeException' 的句柄没有实例化在 mscorlib.dll中发生了。

代码

Dim thread As New Threading.Thread(AddressOf ExportExl)
thread.SetApartmentState(Threading.ApartmentState.STA)
thread.Start()

Private Sub ExportExl()
数据库访问代码。。。。
retDs = MySqlHelper.ExecuteDataset(dbConn, strSql)
。。。
End Sub


我的理解可能是mscorlib.dll类中用了线程不安全的函数了。
有没有高手知道这样的问题怎么办呀?还是我的线程哪用的不对。。求高手帮助。不胜感激。最好用成功的代码。。
...全文
130 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryueiketu 2012-05-16
  • 打赏
  • 举报
回复
高手都放假了?
junhong2006 2012-05-14
  • 打赏
  • 举报
回复
怎么回事?
ryueiketu 2012-05-14
  • 打赏
  • 举报
回复
怎么回事?无人问津
沐NeMo 2012-05-11
  • 打赏
  • 举报
回复
才怎么一句代码:
问题肯定在 MySqlHelper.ExecuteDataset(dbConn, strSql) 这里面啦。
MySqlHelper没有实例化,或者dbConn 或者strSql语句有问题。
ryueiketu 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

才怎么一句代码:
问题肯定在 MySqlHelper.ExecuteDataset(dbConn, strSql) 这里面啦。
MySqlHelper没有实例化,或者dbConn 或者strSql语句有问题。
[/Quote]
MySqlHelper.ExecuteDataset这句是mscorlib.dll里的方法了。 实例化是肯定做了。我只是觉的线程用的有问题,之所以贴了这么点代码是因为关键的就这么几句,其他的都是业务上的了。。
ryueiketu 2012-05-10
  • 打赏
  • 举报
回复
怎么回事?无人问津

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧