2016-04-07 6 views
1

XMLをクラスに逆シリアル化しています。私は、データベーステーブルにそのオブジェクトを挿入することができていた場合データベース列へのXMLタグの挿入

var First = deserializedList.Select(item => item.Personpost.Namn.Fornamn).ToList(); 
       foreach (var o in First) 
       { 
        Console.WriteLine("Namn: " + o); 
       } 

は、今私は思ったんだけど:それは、各XMLタグ

この例のためのリスト - を返し、名前タグのすべての値を出力します列として?

これは何か?

string connetionString = null; 
      SqlConnection connection; 
      SqlCommand command; 
      SqlDataAdapter adpter = new SqlDataAdapter(); 
      DataSet ds = new DataSet(); 
      XmlReader xmlFile; 
      string sql = null; 


      connetionString = "Data Source=tsrv2062;Initial Catalog=Bums;User ID=*****;Password=*****"; 

      connection = new SqlConnection(connetionString); 

      xmlFile = XmlReader.Create("navetout.xml", new XmlReaderSettings()); 
      ds.ReadXml(xmlFile); 


      connection.Open(); 



      SqlCommand command1 = new SqlCommand("INSERT INTO Seamen(FirstName) values(@FirstName)", connection); 
      command1.Parameters.AddWithValue("@FirstName", First); 

      command1.ExecuteNonQuery(); 

      connection.Close(); 
      Console.WriteLine("Done"); 

私はこれを試してみましたが、エラーが発生しました:

There is no mapping from object type System.Collections.Generic.List`1 [[System.String, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089]] to a built-in type of a known provider.

答えて

1

あなたはコマンドパラメータとしてList<string>を渡すことはできません。 リストからすべての値を挿入する場合は、Firstリストのすべての項目を繰り返し(最初の例と同様)、値を挿入する必要があります。あなたのコードのC/P

xmlFile = XmlReader.Create("navetout.xml", new XmlReaderSettings()); 


ds.ReadXml(xmlFile); 


connection.Open(); 

SqlCommand command1 = new SqlCommand("INSERT INTO Seamen(FirstName) values(@FirstName)", connection); 

foreach (var name in First) 
{ 
    command1.Parameters.Clear(); 
    command1.Parameters.AddWithValue("@FirstName", name); 

    command1.ExecuteNonQuery(); 
} 

connection.Close(); 
Console.WriteLine("Done"); 

私はそれをテストしていませんが、それはあなたの問題を解決する必要があります。

+0

ありがとうございますが、複数の列を同時に挿入したい場合はどうすればよいですか?そのループのすべての列をループする方法はありますか? –

関連する問題