Получение значений 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"]