将XML数据保存到SQL Server表中

本文关键字:SQL Server 表中 保存 XML 数据 | 更新日期: 2023-09-27 18:28:58

我有这个xml文件,我想将值NUMBER(例如)保存到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();

将XML数据保存到SQL Server表中

您正在将"doc"(XDocument)传递到参数中。尝试更改

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

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