是否可以在数据表或其数据行上使用 IDataReader?



我具有使用idataReader填充对象的函数:

private void FillDataItem(IDataReader datareader)
{
    this.CompanyCode = datareader.GetString(datareader.GetOrdinal("COMPANY"));
    this.Name = datareader.GetString(datareader.GetOrdinal("NAME"));
    //...and so on
}

使用SQLDATAREADER根据SQL查询的结果填充对象字段时非常有用。我的几乎所有课程都有这种" FillDaitem",它吸引了Idatareader。使数据库对象变得非常容易。

但是,现在我想做同样的事情,但是使用数据源的数据源与数据源一样。情况是,与来自SQL查询完全相同的格式(相同列)的自定义构建数据表呈现,但并非来自任何外部数据源。我想循环遍历数据排的行,并在每一行中以与上述filldataitem()方法相同的方式填充对象。

当然,我可以创建一个将数据称为参数的新方法:

private void FillDataItem(DataRow datarow)
{
    this.CompanyCode = datarow["COMPANY"].ToString();
    this.Name = datarow["NAME"].ToString();
    //...and so on
}

,但这与Idatareader版本非常相似,我真的很想知道我如何以一种方法来实现目标,以便不需要重复此类代码。考虑到我有很多字段,FillDaitem方法大约是200行。将其复制/粘贴到DataRow版本中似乎很浪费且难以维护。

数据表上有一个createAtareader方法。您可以将其传递到现有代码。

http://msdn.microsoft.com/en-us/library/system.data.data.datable.createedeDataReader.aspx

相关内容

  • 没有找到相关文章

最新更新