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
  • 相关阅读:
    集合---Map
    一个机器部署多个tomcat
    JavaScript要不要加分号";"
    Nodejs 路径 /, ./, ../, ..// 的区别
    玩转Vue的24个小程序---基础篇
    如何创建Node.js Web服务器
    为什么Ajax XMLHttpRequest POST方法传递参数失败了
    字典元素如何遍历
    Beautiful Soup 如何获取到href
    如何查看Ajax请求
  • 原文地址:https://www.cnblogs.com/somesongs/p/1117272.html
Copyright © 2011-2022 走看看