Exemple #1
0
        public static void EndPagdingTable(IAsyncResult result)
        {
            ReconstructTable item = result.AsyncState as ReconstructTable;
            int rowCount          = 0;

            try
            {
                item.Result   = item.Method.EndInvoke(out rowCount, result);
                item.rowCount = rowCount;
            }
            catch (Exception ex)
            {
                item.Exception = ex;
            }
            finally
            {
                item.Event.Set();
            }
        }
Exemple #2
0
        public static DataTable BeginPagingTable(this DbOperator dbOperator, string sql, int pageIndex, int pageSize, out int rowCount)
        {
            if (string.IsNullOrEmpty(sql))
            {
                throw new ArgumentNullException("sql");
            }
            t_Paging         paging = new t_Paging(PagingTables);
            ReconstructTable item   = new ReconstructTable()
            {
                Event = new ManualResetEvent(false), Method = paging
            };
            IAsyncResult result = paging.BeginInvoke(dbOperator, sql, pageIndex, pageSize, out rowCount, new AsyncCallback(EndPagdingTable), item);

            item.Event.WaitOne();
            if (item.Exception != null)
            {
                throw item.Exception;
            }
            rowCount = item.rowCount;
            return((DataTable)item.Result);
        }