zoukankan      html  css  js  c++  java
  • 异步查询

       public class QueryHelper
        {
    
            private delegate void DataGridViewHandler(DataTable dt);
    
            public DataGridView dataGridView { get; set; }
            public void GetData(string sql)
            {
                //得到链接,用你自己的链接串即可
                IDbConnection con = DBConPool.GetDbProvider(false, DbType.SqlServer, DbName.MainDb);
                SqlConnection conn = con as SqlConnection;
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                SqlCommand sqlCommand = new SqlCommand(sql, conn) { CommandTimeout = 0 };
                //执行耗时查询,AsyncProcess:执行完后讲结果推送到AsyncProcess
                sqlCommand.BeginExecuteReader(AsyncProcess, sqlCommand);
            }
    
    
            /// <summary>
            /// 异步执行
            /// </summary>
            /// <param name="ar"></param>
            private void AsyncProcess(IAsyncResult  asyncResult)
            {
                SqlCommand sqlCommand = (SqlCommand)asyncResult.AsyncState;
                using (sqlCommand.Connection)
                {
                    using (sqlCommand)
                    {
                        SqlDataReader sdr = sqlCommand.EndExecuteReader(asyncResult);
                        DataTable dt = new DataTable("info");
                        dt.Load(sdr);
                        //dataGridView1绑定数据
                        dataGridView.BeginInvoke(
                            new DataGridViewHandler((dtResult) => dataGridView.DataSource = dtResult), dt);
                    }
                }
            }
    }
  • 相关阅读:
    sql 查询多列 小于某值
    C#读取EXCEL 并输出到文本框
    字典
    MVC 接收文件
    C# DataTable 转 json
    MVC 返回json数据
    C# 获得指定路径扩展名 , 去除扩展名
    C# 分割URL地址
    sql语句参数化问题
    VC++学习之网络编程中的套接字
  • 原文地址:https://www.cnblogs.com/LiMin/p/13669262.html
Copyright © 2011-2022 走看看