zoukankan      html  css  js  c++  java
  • 将DataReader转化为DataTables的一个简单实现

         许多将DataReader转化为DataTables或DataSet的实现,通常是通过循环遍历的办法。现在有一个更为简单的办法,利用 DbDataAdapter类,所有provider的DataAdapters都继承自它。它包含一个Fill方法,需要传入一个 IDataReader参数。我们可以建立一个继承自它的类来调用这个方法。非常轻松的将一个DataReader转换成一个DataTable。不过同时还须覆盖其他一些抽象方法。见如下代码:

    1using System;
    2using System.Data;
    3using System.Data.Common;
    4
    5namespace Midapex.SmartOrm
    6{
    7 class DataReaderAdapter: DbDataAdapter
    8 {
    9 public int FillFromReader(DataTable dataTable, IDataReader dataReader)
    10 {
    11 return this.Fill(dataTable, dataReader);
    12 }
    13
    14 //需要覆盖下面一些方法
    15 protected override RowUpdatedEventArgs CreateRowUpdatedEvent(
    16 DataRow dataRow,
    17 IDbCommand command,
    18 StatementType statementType,
    19 DataTableMapping tableMapping
    20 ) { return null; }
    21
    22 protected override RowUpdatingEventArgs CreateRowUpdatingEvent(
    23 DataRow dataRow,
    24 IDbCommand command,
    25 StatementType statementType,
    26 DataTableMapping tableMapping
    27 ) { return null; }
    28
    29 protected override void OnRowUpdated(
    30 RowUpdatedEventArgs value
    31 ) { }
    32 protected override void OnRowUpdating(
    33 RowUpdatingEventArgs value
    34 ) { }
    35 }
    36}

    具体使用中可以实例化这个类,调用这个方法进行转化,非常简单。

    主要参考翻译自:http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=628
  • 相关阅读:
    商品
    正向代理和反向代理
    JS中的bind方法
    本地安装并运行http-server、browser-sync、webpack
    NPM——常用命令
    两层遍历的递归写法
    vue-cli中的index.html ,main.js , App.vue的关系
    NPM的由来——为什么要使用NPM
    关于this的指向
    MapReduce编程模型详解(基于Windows平台Eclipse)
  • 原文地址:https://www.cnblogs.com/somesongs/p/1117272.html
Copyright © 2011-2022 走看看