如何从DataReader的当前行中获取DataRow?

雷米

好的,我想提取DataRow一个DataReader我已经环顾了很长时间,但似乎没有一种简单的方法可以做到这一点。

我知道aDataReader是更多的行集合,但当时只读取一行。

所以我的问题是:有没有办法DataRow从当前行中提取出来DataReader

蒂姆·施密特(Tim Schmelter)

有什么方法可以从DataReader的当前行中提取DataRow吗?

不,至少没有简单的方法。每个DataRow都属于一个您不能将该属性留空,甚至不能更改表(不使用ImportRow)。

但是,如果您需要DataRows,为什么不首先填写a DataTable

DataTable table = new DataTable();
using(var con = new SqlConnection("...."))
using(var da = new SqlDataAdapter("SELECT ... WHERE...", con))
    da.Fill(table);
// now you have the row(s)

如果您确实需要从中获取行,则DataReader可以使用reader.GetSchemaTable来获取有关列的所有信息:

if (reader.HasRows)
{
    DataTable schemaTable = reader.GetSchemaTable();
    DataTable data = new DataTable();
    foreach (DataRow row in schemaTable.Rows)
    {
        string colName = row.Field<string>("ColumnName");
        Type t = row.Field<Type>("DataType");
        data.Columns.Add(colName, t);
    }
    while (reader.Read())
    {
        var newRow = data.Rows.Add();
        foreach (DataColumn col in data.Columns)
        {
            newRow[col.ColumnName] = reader[col.ColumnName];
        }
    }
}

但这并不是真正有效的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取 CSV 文件的当前行

如何从另一行获取值以放置在熊猫数据框中的当前行中?

如何获取动态表中的当前行索引?C#/ ASP.NET MVC

如何在sql server的当前行中获取前一行的值

如何获取 firebase html 表中的当前行 ID 以执行函数

如何获取TextInput的字符串中的当前行数?

处理宏时如何获取源文件的当前行?

在XAML中获取WPF DataGrid的当前行索引

获取数据表中的当前行号

如何清除/删除终端中的当前行?

如何突出显示.vimrc中的当前行和光标?

如何突出显示 QScintilla 中的当前行

如果下一行值与MySQL 8中的当前行值相同,如何获取持续时间之和

如何清除标准输出的当前行?

表中的当前行索引

突出显示JTextPane中的当前行

选择intellij中的当前行

如果我单击QTableWidget的子级,如何获取它的当前行?

获取此contenteditable元素中的当前行和行索引?

如何在PHP中获取当前月份的当前周数

如何在 WinUI UWP TextBox 中获取当前行索引?

如何从MySQL当前行中获取特定的列值?

如何计算表格的上一行并显示在表格的当前行中?

如何将gedit中的当前行发送到终端?

如何在df.iterrows()期间删除pandas数据框中的当前行

如何在Visual Studio 2019中查看光标的当前行/列

我如何获取从CSS获取的td数据以附加到我的当前行,并用于我的逻辑

将列总计到SQL中的当前行?

在 c 中清除控制台中的当前行