zoukankan      html  css  js  c++  java
  • 关于DataAdapter 的int Fill(int startRecord, int maxRecords, params DataTable[] dataTables)方法

    其实如果分页不需要很高很高的性能的话,完全可以使用
    DataAdapter.Fill(int startRecord, int maxRecords, params DataTable[] dataTables)方法

    原理是
    while (0 < startRecord)
          
    {
                
    if (!container1.Read())
                
    {
                      
    return 0;
                }

                startRecord
    --;
          }

          
    int num1 = 0;
          
    if (0 < maxRecords)
          
    {
                
    while ((num1 < maxRecords) && container1.Read())
                
    {
                      
    if (this._hasFillErrorHandler)
                      
    {
                            
    try
                            
    {
                                  mapping.LoadDataRowWithClear();
                                  num1
    ++;
                            }

                            
    catch (Exception exception1)
                            
    {
                                  
    if (!ADP.IsCatchableExceptionType(exception1))
                                  
    {
                                        
    throw;
                                  }

                                  ADP.TraceExceptionForCapture(exception1);
                                  
    this.OnFillErrorHandler(exception1, mapping.DataTable, mapping.DataValues);
                            }

                            
    continue;
                      }

                      mapping.LoadDataRow();
                      num1
    ++;
                }

                
    return num1;
          }

    这个是 reflector出来的代码,我们可以看到,他使用datareader.Read到指定的行数。
    按理来说,Read方法不怎么消耗时间。如果对访问速度要求不是极其苛刻的话,
    这个方法完全是可以使用的。
    这样不会导致返回的DataTable或者 DataSet太大。
    其实,几千条的数据,应该也没有几个人会有耐心看完。

  • 相关阅读:
    [PHP]算法-归并排序的PHP实现
    [PHP] 数据结构-二叉树的创建PHP实现
    [PHP] 数据结构-循环链表的PHP实现
    [PHP] 数据结构-链表创建-插入-删除-查找的PHP实现
    [PHP] 算法-两个n位的二进制整数相加问题PHP实现
    [PHP] 数据结构-线性表的顺序存储结构PHP实现
    [日常] 链表-头结点和头指针的区别
    [日常] C语言中指针变量
    [日常] 算法-单链表的创建-尾插法
    [日常] 算法-单链表的创建
  • 原文地址:https://www.cnblogs.com/wildfish/p/347804.html
Copyright © 2011-2022 走看看