• 将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
  • 相关阅读:
    游戏开发中——垂直同步、绘制效率、显示器刷新频率与帧率
    python 异常
    python 多文件知识
    python if,for,while
    python 算术运算
    1.英语单词笔记
    Java import的作用
    java基础点
    Eclipse Java注释模板设置详解
    Java文档注释详解
  • 原文地址:https://www.cnblogs.com/somesongs/p/1117272.html
Copyright © 2020-2023  润新知