我有一个SqlDataReader阅读器,我事先不知道数据结构,即列数是未知的。我想把表格放在 csv 文件中。我从中检索列
System.Data.DataTable dt = reader.GetSchemaTable();
Run Code Online (Sandbox Code Playgroud)
所以我把它们放在 dt.Columns() 之后。然后,我想做这样的事情:
while (reader.Read())
{
writer.WriteLine(string.Join(";",ListWithRowContent))
}
Run Code Online (Sandbox Code Playgroud)
但是,我很难用 linq .Select 之类的东西将一行的内容放入 ListWithRowContent 列表中,但无法查询“reader”对象。
问题:怎么做(请不要循环!)?
假设该读取器位于任何记录上:
var values = new Object[reader.FieldCount];
reader.GetValues(values);
writer.WriteLine(string.Join(";", values.Select(v => v.ToString())));
Run Code Online (Sandbox Code Playgroud)
或更方便的方式(FW 4.0 或更高版本):
var values = new Object[reader.FieldCount];
reader.GetValues(values);
writer.WriteLine(string.Join(";", values));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1944 次 |
| 最近记录: |