2016-07-26 8 views
-1

文字列配列をDBレイヤに渡そうとしていますが、最初にList<string>型として渡され、文字列配列に変換されます。文字列配列の解析(C#とSQL Server)

ただし、文字列配列要素にはカンマ(,)が含まれているため、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\":" 

は私がここでDB

にこの文字列を解析し、文字列

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

にリストを変換するために使用したコードが結果です:

enter image description here

私がしようとしているのは、リスト要素を文字列配列に解析し、それをデータベースに送ります。

ありがとうございます。

+0

あなたがしていることは問題ありません。しかしあなたのリストには 'data'に子要素があります。あなたはデータに基づいて子を読んでから挿入します。 DBに挿入するためのデータ要件に依存します。 – Thennarasan

+0

子どもはデータをどのように読むことができますか?私がデータを渡すとき、それは常にコンマで構成されます。 – NewPHPer

+0

ToArray();に変換した後に得られる完全な 'StringLocationDataList'出力を投稿できますか?通常、StringLocationDataListの出力から、特定のデータを取得するためにindexを使用できるようになります。 – 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