ADO.NET: преобразуйте DataTable в массив DataRows

Я использую ADO.NET и C#, и я хочу преобразовать Объект dataTable в массив DataRows. Что такое изящный способ сделать это?

11
задан ChristopheD 21 July 2010 в 05:42
поделиться

3 ответа

Мой первый вопрос: почему? Запрос не имеет смысла.

Ответ:

DataRow[] rows = myDataTable.Select();
21
ответ дан 3 December 2019 в 04:32
поделиться

На самом деле содержит DataTable имеет свойство под названием Rows, Witch предоставляет методы для этого.

Вы можете выполнить это делать:

List<System.Data.DataRow> r = d.Rows.AsQueryable().OfType<System.Data.DataRow>().ToList();
2
ответ дан 3 December 2019 в 04:32
поделиться

DataTable.Select () дает вам массив строк данных. Вы можете использовать это как массив

Dim dt As New DataTable
Dim dr() As DataRow = dt.Select() 

Если вам нужен ArrayList, вы можете

public ArrayList ConvertDT(ref DataTable dt)
{
        ArrayList converted = new ArrayList(dt.Rows.Count);
        foreach (DataRow row in dt.Rows)
        {
                converted.Add(row);
        }
        return converted;
}

Я не использовал функцию dt.rows.CopyTo. возможно, это тоже работает.

1
ответ дан 3 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: