簡體   English   中英

從sqlDataReader獲取行的內容作為列表

[英]Get the content of a row from sqlDataReader as a list

我有一個SqlDataReader閱讀器,我事先不知道數據結構,即列數未知。 我想將表格放在csv文件中。 我從中檢索列

System.Data.DataTable dt = reader.GetSchemaTable();

所以我在dt.Columns()之后有它們。 然后,我想做這樣的事情:

while (reader.Read())
{
    writer.WriteLine(string.Join(";",ListWithRowContent))
}

但是,我很難用linq .Select之類的內容將行的內容放入ListWithRowContent列表中,但是無法查詢“ reader”對象。
問題:該怎么做(請不要循環!)?

假設該讀者位於任何記錄中:

var values = new Object[reader.FieldCount];

reader.GetValues(values);

writer.WriteLine(string.Join(";", values.Select(v => v.ToString())));

或更便捷的方式(FW 4.0或更高版本):

var values = new Object[reader.FieldCount];

reader.GetValues(values);

writer.WriteLine(string.Join(";", values));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM