vb.net 如何用进度条显示数据查询进度?

我用VB.NET2008做的一个程序,需要在数据库中进行查询,其中用到了储存过程和直接进行查询两种方式。一般情况下查询时间都会在1~5秒之间,我想用ProgressBar... 我用VB.NET2008做的一个程序,需要在数据库中进行查询,其中用到了储存过程和直接进行查询两种方式。一般情况下查询时间都会在1~5秒之间,我想用ProgressBar这个控件来现实查询进度。

请问该怎么做呢?好像会涉及多线程。初学VB.NET 请大侠们不吝指教!
展开
 我来答
创作者zUzVB1Sl31
2019-08-17 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

有不是多线程的,.NET有一个异步控件来完成这个事情,BackgroundWorker。

多线程其实比你想象的简单,你计划操作步骤,打比方说我们处理一个文件,用进度条来显示进度。我们可以定义解压他进度为5%,解密文件后哦进度完成20%,读取数据后进度完成30%,重新整理插入数据后进度完成60%,再加密,进度为80%,再压缩进度为90%,再发送进度为95%,删除历史记录结束动作进度为100%。这种事就要多线程去完成,调用控件你就需要委托或者回调控件。

进度条给他赋值就好了,程序运行后你会发现进度条在动。

这是现在90%程序进度条原理。

yuyitcn
推荐于2018-04-12 · 超过22用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:78.2万
展开全部
填加一个 ProgressBar 按件

代码:
conn.open
dim dtr As OleDbDataReader = New OleDbCommand("Select count(id) as aa From [table]", Conn).ExecuteReader
if dtr.read then
dim count as Integer = dtr("aa")'共多少条数据
end if
dim i =0
dtr=New OleDbCommand("Select * From [table]", Conn).ExecuteReader
while dtr.read
i+=1
'string = dtr("") 读取数据
ProgressBar.value = cint(count / i *100)
Application.DoEvents
end while
dim
conn.close
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xj73367040
2011-05-11 · 超过18用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:52.3万
展开全部
简单点的可以 首先获取你数据有多少条 然后设置进度条就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式