Получение значений datarow в строку?

У меня есть набор данных под названием "результаты" с несколькими строками данных. Я хотел бы получить эти данные в строку, но я не могу понять, как это сделать. Я использую следующий код:

string output = "";
foreach (DataRow rows in results.Tables[0].Rows)     
{
    output = output + rows.ToString() + "n";
}

однако, я думаю, что я что-то упускаю, потому что это не работает. Кто-нибудь может указать мне правильное направление?

4 ответов


вам нужно указать, из какого столбца datarow вы хотите извлечь данные.

попробуйте следующее:

        StringBuilder output = new StringBuilder();
        foreach (DataRow rows in results.Tables[0].Rows)
        {
            foreach (DataColumn col in results.Tables[0].Columns)
            {
                output.AppendFormat("{0} ", rows[col]);
            }

            output.AppendLine();
        }

Я сам много раз это делал. Если вам просто нужен список, разделенный запятыми для всех значений строк, вы можете сделать это:

StringBuilder sb = new StringBuilder();
foreach (DataRow row in results.Tables[0].Rows)     
{
    sb.AppendLine(string.Join(",", row.ItemArray));
}

StringBuilder является предпочтительным методом, поскольку конкатенация строк значительно медленнее для больших объемов данных.


вы можете получить значение столбцов, выполнив это

 rows["ColumnName"]

вы также должны привести к соответствующему типу.

 output += (string)rows["ColumnName"]

код