簡體   English   中英

如何將N行數的多列數據表作為CSV傳遞?

[英]How do i pass a muti-column datatable with N number of rows as a CSV?

假設有一個名為“計算機科學學士”的學術課程。 假設這是4年,假設它在4年中總共開設了50門課程。 假設我需要保存那50門課程以及學術課程名稱,當然我需要使用收藏集。

因此,在數據庫中有兩個表Academics表和Courses表,在這種情況下,一行將被保存到Academics而50行將被保存在Courses

但是,假設有人告訴我使用CSV而不是集合。 因此, stored procedure的輸入變量類型為varchar(max)以接受來自客戶端的csv

假設我需要在每一行數據的csv string包括這些列(假設datagridview上當前顯示的50門課程)

CourseID
YearNo --> when the student has the do this course in 1st year, 2nd year etc.
IsCompulsory  --> any course a student select can be either compulsory or an elective
  1. 如何將這些列和行放入一個csv字符串中?
  2. 使用CSV字符串保存像上面那樣的集合(多列集合)是否是常見的做法?
  3. 有人告訴我開發人員使用CSV字符串存儲集合,這是現實嗎?

謝謝

1)將列放入csv字符串的一般解決方案是:

SELECT column + ',' FROM table FOR XML PATH('') WHERE condition

2)這是很普遍的做法,但不確定是否總是好的

3)與2相同

如果要使用集合,則應該選擇XML。 XML易於創建,解析和維護。 請參閱此處的示例之一。

暫無
暫無

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

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