资源简介
C#异步操作 异步查询数据库 异步处理一行一行加载数据
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Threading;
namespace WindowsFormsApplication1
{
public class AsynchronousQuery
{
private System.ComponentModel.BackgroundWorker backgroundWorker;
public AsynchronousQuery()
{
}
///
/// 开始线程
///
public void InitAsynchronous(string strSql)
{
backgroundWorker = new BackgroundWorker();
//指定提供进度通知
backgroundWorker.WorkerReportsProgress = true;
//提供中断功能
backgroundWorker.WorkerSupportsCancellation = true;
//线程的主要功能是处理事件
//开启线程执行工作 ,C#进度条实现之异步实例
backgroundWorker.DoWork += new DoWorkEventHandler(BackgroundWorker_DoWork);
//指定使用的功能来处理进度
backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(BackgroundWorker_ProgressChanged);
//进度条结束完成工作
//1.工作完成
//2.工作错误异常
//3.取消工作
backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BackgroundWorker_RunWorkerCompleted);
//如果进度条需要参数
//调用System.ComponentModel.BackgroundWorker.RunWorkerAsync
//传入你的参数至System.ComponentModel.BackgroundWorker.DoWork
//提取参数
//System.ComponentModel.DoWorkEventArgs.Argument
//1.调用bgwInsertData的RunWorkerAsync方法,用来引发DoWork事件
backgroundWorker.RunWorkerAsync(strSql);
}
///
/// 操作开始时在另一个线程上运行的事件处理程序
///
private void BackgroundWorker_DoWork(object sender DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
//2.在DoWork中调用自定义函数,并将引发DoWork事件的sender传递出去
DataTable dt = Query(e.Argument as string).Tables[0];
int countt = dt.Rows.Count;
if (countt > 0)
{
if (worker.CancellationPending)
{
e.Cancel = true;
return;
}
else
{
//传递给ProgressChanged中数据
worker.ReportProgress(100 dt);
}
}
}
///
/// 当辅助线程指示某些操作已经运行时引发
///
private void BackgroundWorker_ProgressChanged(object sender ProgressChangedEventArgs e)
{
// DoWork中 worker.ReportProgress((i + 1) * (100 / countt) dt.Rows[i].ItemArray);
// 第一个参数是e.ProgressPercentage 进度
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5947 2011-07-01 15:49 异步操作\WindowsFormsApplication1\AsynchronousQuery.cs
文件 3754 2011-07-01 15:49 异步操作\WindowsFormsApplication1\AsynchronousQuery1.cs
文件 1209 2011-07-01 14:37 异步操作\WindowsFormsApplication1\AsynchronousQuery1.Designer.cs
文件 2469888 2007-06-02 16:15 异步操作\WindowsFormsApplication1\bin\Debug\DevComponents.DotNetBar2.dll
文件 23040 2011-07-01 16:39 异步操作\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe
文件 71168 2011-07-01 16:39 异步操作\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb
文件 14328 2011-07-01 17:09 异步操作\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.vshost.exe
文件 490 2007-07-21 01:33 异步操作\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.vshost.exe.manifest
文件 2253 2011-07-01 09:46 异步操作\WindowsFormsApplication1\Form1.cs
文件 1983 2011-07-01 09:46 异步操作\WindowsFormsApplication1\Form1.Designer.cs
文件 5814 2011-07-01 09:46 异步操作\WindowsFormsApplication1\Form1.resx
文件 737 2011-07-01 11:00 异步操作\WindowsFormsApplication1\Form2.cs
文件 2082 2011-07-01 11:00 异步操作\WindowsFormsApplication1\Form2.Designer.cs
文件 6019 2011-07-01 11:00 异步操作\WindowsFormsApplication1\Form2.resx
文件 7388 2011-07-01 15:54 异步操作\WindowsFormsApplication1\Form3.cs
文件 4854 2011-07-01 14:21 异步操作\WindowsFormsApplication1\Form3.Designer.cs
文件 5814 2011-07-01 14:19 异步操作\WindowsFormsApplication1\Form3.resx
文件 1243 2011-07-01 16:40 异步操作\WindowsFormsApplication1\Form4.cs
文件 4861 2011-07-01 15:57 异步操作\WindowsFormsApplication1\Form4.Designer.cs
文件 5814 2011-07-01 15:57 异步操作\WindowsFormsApplication1\Form4.resx
文件 5428 2011-07-01 13:28 异步操作\WindowsFormsApplication1\MainForm.cs
文件 6088 2011-07-01 13:28 异步操作\WindowsFormsApplication1\MainForm.Designer.cs
文件 5814 2011-07-01 13:28 异步操作\WindowsFormsApplication1\MainForm.resx
文件 5702 2011-07-01 10:01 异步操作\WindowsFormsApplication1\obj\Debug\ResolveAssemblyReference.cache
文件 180 2011-07-01 15:24 异步操作\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.backgroundWorkerTest.resources
文件 1921 2011-07-01 17:09 异步操作\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.csproj.FileListAbsolute.txt
文件 1089 2011-07-01 15:57 异步操作\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.csproj.GenerateResource.Cache
文件 23040 2011-07-01 16:39 异步操作\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe
文件 180 2011-07-01 15:24 异步操作\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form2.resources
文件 180 2011-07-01 15:57 异步操作\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form4.resources
............此处省略29个文件信息
评论
共有 条评论