2

NUMBERこの xml ファイルがあり、 (たとえば)値を SQL Server テーブルに保存したいと考えています。

<ORDER>
  <ORDER_HEADER>
    <NUMBER>10945</NUMBER>
    <TIME>7.8.2013 12:45:20</TIME>
    <NOTE>this is Note</NOTE>   
  </ORDER_HEADER>
</ORDER> 

これは私のコードです:

XDocument doc = XDocument.Load("C:\\Users\\L\\Desktop\\data.xml");
var NUMBER = doc.Descendants("NUMBER");
var TIME = doc.Descendants("TIME");
var NOTE = doc.Descendants("NOTE");

foreach (var cislo in NUMBER)
{
    SqlConnection conn = new SqlConnection("Data Source=***");
    conn.Open();

    using (SqlCommand cmd = conn.CreateCommand())
    {
       cmd.CommandText = "Update CISLO SET cislo = @cislo1;";
       cmd.Parameters.AddWithValue("@cislo1", doc);

       cmd.ExecuteNonQuery();
    }
 }

 MessageBox.Show("OK");

次のエラーが表示されます。

オブジェクト型 System.Xml.Linq.XDocument から既知のマネージ プロバイダーのネイティブ型へのマッピングはありません。

行:

cmd.ExecuteNonQuery();
4

1 に答える 1

3

XDocument である「doc」をパラメータに渡しています。変更してみる

cmd.Parameters.AddWithValue("@cislo1", doc);

cmd.Parameters.AddWithValue("@cislo1", cislo);
于 2013-08-26T08:19:20.010 に答える