2016-07-26 84 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