【问题标题】:Create XDocument with xml datatype from SQL Server从 SQL Server 创建具有 xml 数据类型的 XDocument
【发布时间】:2014-03-10 16:09:07
【问题描述】:

我有这张桌子: ID|文件

1 |根> ELEMENT TYPE="DATABASE" CNNSTR="Data Source=(local);Initial Catalog=testForDLL;Integrated Security=SSPI;Persist Security Info=False;" QUERY="SELECT * FROM TBL1 WHERE id=1"/> 根>

2 |根 ELEMENT TYPE="DATABASE" CNNSTR="Data Source=(local);Initial Catalog=testForDLL;Integrated Security=SSPI;Persist Security Info=False;" QUERY="SELECT * FROM TBL2 WHERE id=1"/> 根>

我想从第二列加载值并用它创建一个 XDOCUMENT。 到目前为止,我有这个代码:

using (SqlConnection conn = new SqlConnection(cnnstr))
            {
                conn.Open();
                SqlCommand com = conn.CreateCommand();

                com.CommandText = "SELECT [FILE] FROM XML_Config WHERE id=" + id;
                XDocument doc2 = new XDocument();

                XmlReader dtRead = com.ExecuteXmlReader();

                if (dtRead.Read())
                    doc2.Load(dtRead); -> This line has an error
            }

问任何你想要帮助我的东西。

【问题讨论】:

  • 你得到什么错误?
  • 现在没有。我想我解决了这个问题,但我想知道这是否是最好的方法。

标签: sql xml linq-to-xml


【解决方案1】:

我想我用这段代码解决了问题。

using (SqlConnection conn = new SqlConnection(cnnstr))
            {
                string xmlstr;
                conn.Open();
                SqlCommand com = conn.CreateCommand();

                com.CommandText = "SELECT [FILE] FROM XML_Config WHERE id=" + id;

                SqlDataReader dtRead = com.ExecuteReader();

                while (dtRead.Read())
                    xmlstr= dtRead.GetSqlString(0).ToString();
                XDocument docBD = XDocument.Parse(xmlstr);

                return docBD;
            }

你认为这是最好的解决方案吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多