文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

VB.NET在数据库编程中线程怎么用

2023-06-17 20:58

关注

这篇文章主要介绍VB.NET在数据库编程中线程怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

线程是操作系统分配处理器时间的基本单元,线程可以在单个执行线程执行的同时运行多个活动,支持抢先多任务处理的操作系统可以创建多个线程并通过时间片轮转的方式使它们同时运行。在需要良好用户交互的应用以及与网络和数据库进行通讯的应用中,使用多线程能提供良好的交互体验,能对用户的要求做出快速的反应。本文主要介绍.NET中的线程在数据库编程中的具体应用(用VB.NET实现)。

1 创建数据库访问线程

在数据库应用中,特别是网络数据库访问,因为可能要访问的数据量较大,因此需要比较长的时间来得到结果,而一个良好的程序应具有良好的交互性,在访问数据库时应允许你的应用程序对用户的活动尽快做出响应,以提供丰富的用户体验。利用多线程机制可以让需要大量时间的操作在后台运行以快速响应用户的活动。下面的代码访问数据库并返回数据表:

Private sub GetDataFromDataBase()  …  m_table.Clear()  m_sqlDataAdapter.Fill(m_table)  …  End Sub

创建Thread对象的新实例,需创建新的线程代理.ThreadStart线程代理可以指定生成线程时要执行的方法名,但线程代理并不实际运行线程.创建ThreadStart对象时,需指定线程开始执行时要运行的方法的指针,该方法不能接受任何参数。下面我们将上面的代码分配给一个线程处理,并且启动它:

Dim myThreadStart as ThreadStart =New ThreadStart(AddressOf GetDataFromDataBase)  Dim myThread as Thread=New Thread(myThreadStart)  myThread.Start()

这样当进行数据库的访问时,用户可以继续进行处理。

2.VB.NET线程方法使用事件

调用了线程的start方法,并不能确保其中的方法马上执行完,而要得到数据访问的结果又必须等其中的方法执行完毕。如果在运行线程后采用循环查询的方法显然影响了交互性,事件是从线程方法返回数据的好方法。只要在VB.NET线程方法所在的类中定义一个事件,在VB.NET线程方法中发出事件,而在窗体类中生成代理。
首先在dealDataBase类声明后加进事件:

Public Class dealDataBase  Public Event GetDataComplete(ByVal e As DtatTable)  …  End Class

在类dealDataBase的GetDataFromDataBase()方法中加入发出事件的代码,放在m_sqlDataAdapter.Fill(m_table)后:

Public sub GetDataFromDataBase()  …  m_sqlDataAdapter.Fill(m_table)  RasiseEvent GetDataComplete(m_table)  …  End Sub

下面在窗体类中生成代理

Private Sub dealData (ByVal e As DataTable)  '处理数据表  End Sub

在创建线程并运行线程的代码中进行事件连接,事件连接代码放在运行线程前, dealDataBase类实例化后:

AddHandler myDB. GetDataComplete,AddressOf dealData

这样,当线程方法执行完毕就会发出事件,而dealData方法会响应事件并做出处理。

以上是“VB.NET在数据库编程中线程怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯