2016-07-26 33 views
-1

我想將字符串數組傳遞給數據庫層,它首先作爲List<string>類型傳入,然後將其轉換爲字符串數組。字符串數組解析(C#&SQL服務器)

但是,由於字符串數組元素具有逗號(,),SQL Server以不同的方式獲得它。

這裏是列表中的元素:

className":"Ellipse","data":{"x":10,"y":31,"width":195,"height":96,"strokeWidth":5,"strokeColor":"#000","fillColor":"rgba(224,224,224,0.28)"},"id":"fc9746f9-e07b-9847-1824-5cf4468532f7"} 
"className\":\"Ellipse\",\"data\":{\"x\":741,\"y\":153,\"width\":-126,\"height\":40,\"strokeWidth\":5,\"strokeColor\":\"#000\",\"fillColor\":\"rgba(224,224,224,0.28)\"},\"id\":\"73bcdc9f-9f57-f162-8264-f5e894fcf6ab\"}],\"backgroundShapes\":" 

這裏是我使用列表轉換爲字符串代碼

string StringLocationDataList = String.Join(" ", LocationDataList.ToArray()); 

我解析此字符串DB

下面是結果:

enter image description here

我想要做的是:解析列表元素到字符串數組中,然後將它們發送到數據庫。

在此先感謝

+0

你在做什麼很好。但是在你的清單'data'中有子元素。你已經根據數據閱讀了孩子,然後插入。取決於您的數據要求插入到數據庫。 – Thennarasan

+0

如何閱讀兒童數據庫?當我傳遞數據時,它總是由逗號組成。 – NewPHPer

+0

您可以發佈轉換爲ToArray()後獲得的完整'StringLocationDataList'輸出嗎?如果你一般來自StringLocationDataList的輸出,你將能夠使用索引來獲取特定的數據。 – Thennarasan

回答

0

這是答案;

DataTable asd = new DataTable(); asd.Columns.Add(「Id」,typeof(int)); asd.Columns.Add(「LocationName」,typeof(string));

  for (int i = 0; i < LocationDataList.Count; i++) 
      { 
       //asd.Columns.Add(LocationDataList[i], typeof(string)); 
       try { 
       asd.Rows.Add(i, LocationDataList[i].ToString()); 
       } catch(Exception ex) 
       { 

       } 
      } 
      command.Parameters.Add("@PLocationDataList", SqlDbType.Structured, -1).Value = asd; 

此外,用戶定義的表型是需要滿足數據表。

詳情; C# DataTable into SQL Server stored procedure