Чтение DataSet в C # - PullRequest
       3

Чтение DataSet в C #

3 голосов
/ 14 июля 2011

Если мы заполнили DataSet с помощью запроса выбора в C #, как мы можем прочитать значения столбца?

Я хочу сделать что-то вроде этого:

string name = DataSetObj.rows[0].columns["name"]

Что быправильный синтаксис выглядит для достижения моей цели?

Ответы [ 5 ]

9 голосов
/ 14 июля 2011
foreach(var row in DataSetObj.Tables[0].Rows)
{
    Console.WriteLine(row["column_name"]);
}
2 голосов
/ 14 июля 2011

Если у вас уже есть набор данных, он выглядит примерно так:

object value = dataSet.Tables["MyTable"].Rows[index]["MyColumn"]

Если вы используете DataReader:

using (SqlCommand cmd = new SqlCommand(commandText, connection, null))
{
    using (var reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {
            testID = (int)reader["id"];
        }
    }
}
1 голос
/ 14 июля 2011

Вы можете поместить это в общий метод.

C #

public static string GetRowValue(DataRow row, string name) {
    if (!IsDBNull(row[name])) {
        return row[name].ToString();
    }

    return string.Empty;
}

VB

Public Shared Function GetRowValue(ByVal row As DataRow, ByVal name As String) As String
    If Not IsDBNull(row(name)) Then
        Return row(name).ToString()
    End If

    Return String.Empty
End Function
1 голос
/ 14 июля 2011

немного отличается от того, что вы опубликовали

object value = DataSetObj.Tables["Table_Name"].Rows[rowIndex]["column_name"]

Также вместо Table_Name и Column_Name вы можете использовать индекс

0 голосов
/ 27 февраля 2017
var result = from a in ds.Tables[0].AsEnumerable() select new[] {a[0].ToString()};

AsEnumerable() загружает каждую запись в память приложения, а затем мы помещаем записи в массив строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...