C#异步绑定数据实现方法

时间:2022-06-30 03:27:54

本文实例讲述了C#异步绑定数据实现方法。分享给大家供大家参考。具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
namespace WindowsApplication2
{
 public class AsyncCallBackOpeartion
 {
  private static DataGridView dataGridView;
  public static void AsyncCallBack(string connectionString, string sql, DataGridView dgv)
  {
   dataGridView = dgv;
   connectionString += ";Asynchronous Processing=true";
   SqlConnection conn = new SqlConnection(connectionString);
   SqlCommand command = new SqlCommand(sql, conn);
   conn.Open();
   command.BeginExecuteReader(new AsyncCallback(AsyncCallBack), command);
  }
  static void AsyncCallBack(IAsyncResult ar)
  {
   if (ar.IsCompleted)
   {
    SqlCommand com = (SqlCommand)ar.AsyncState;
    SqlDataReader dr = com.EndExecuteReader(ar);
    DataTable dt = new DataTable();
    dt.Load(dr);
    dr.Close();
    if (dataGridView.InvokeRequired)
    {
     updateDG ur = new updateDG(dataBin);
     dataGridView.Invoke(ur, dt);
    }
   }
  }
  delegate void updateDG(DataTable dt);
  public static void dataBin(DataTable dt)
  {
   dataGridView.DataSource = dt;
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。