从数据库下载时,实时获得下载进度

zucc_sjj 2009-05-15 04:26:00



//下载方法
public void downloadfile(String filename)
{
SqlDataReader dr = null;
SqlConnection objCn = new SqlConnection("Data Source=10.66.4.188;Initial Catalog=File;Persist Security Info=True;Connect Timeout=600;User ID=shangguanguanjun;Password=111111");
SqlCommand cm = new SqlCommand("select main from Fileupdate where Fname='"+filename+"'");
cm.Connection = objCn;
objCn.Open();
try
{
dr = cm.ExecuteReader(); //如何知道读取的进度?做进度条用。。

byte[] File001 = null;
if (dr.Read())
{
File001 = (byte[])dr[0];
}
objCn.Close();
FileStream fs = new FileStream(filename, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(File001, 0, File001.Length);
bw.Close();
fs.Close();
MessageBox.Show("下载成功!");
}
catch (Exception ex2)
{
MessageBox.Show(ex2.Message);
}
}


在做个项目,困扰了很多天。
想知道如何在从数据库中读取二进制数据的时候获得实时的下载值?
高手过来帮忙下~~谢谢!

...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgke 2009-05-15
  • 打赏
  • 举报
回复
你一下保存到数据库没办法做到了.. 你可以分割文件来保存.
kkun_3yue3 2009-05-15
  • 打赏
  • 举报
回复
下载这个软件,开源的
连接数据库的时候就是滚动条提示,应该能满足你的要求
kkun_3yue3 2009-05-15
  • 打赏
  • 举报
回复
设置一个类,以异步方式调用public void downloadfile(String filename)这个方法
并添加进度通知,进度怕是不好弄到,倒是能做个类似循环的滚动条提示正在操作
liudanking 2009-05-15
  • 打赏
  • 举报
回复
UP
帮顶
zucc_sjj 2009-05-15
  • 打赏
  • 举报
回复
没人在啊。。我自己顶
zucc_sjj 2009-05-15
  • 打赏
  • 举报
回复
有具体的代码最好。。有思路也可以。谢谢~~~~~

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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