将datarow值转换为字符串?

我有一个名为“results”的数据集,其中包含多行数据。 我想把这些数据变成一个字符串,但我不知道该怎么做。 我正在使用以下代码:

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

但是,我想我错过了一些东西,因为这不起作用。 有人能指出我正确的方向吗?

您需要指定要从中提取数据的数据行的哪一列。

请尝试以下方法:

  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"] 

您的rows对象包含Item属性,您可以在其中找到每个列的值。 当你在行上执行.ToString()时,你不能指望列自己连接。 您应该分别从行中访问每一列,使用forforeach来遍历列数组。

在这里,看看课程:

http://msdn.microsoft.com/en-us/library/system.data.datarow.aspx

Interesting Posts