【发布时间】:2019-10-26 09:50:38
【问题描述】:
寻求以下代码的帮助 - 我试图找出在 XML 文件中我真正想要用来移动到 SQL 表的位置。我只是不确定如何从我的文件系统中指定它...
using System;
using System.Data.SqlClient;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (var con = new SqlConnection("Server=(local);Database=TempDb;Integrated Security=true"))
{
con.Open();
var cmdCreateTable = new SqlCommand("if object_id('dbo.t') is null create table t(id int identity primary key, doc xml);",con);
cmdCreateTable.ExecuteNonQuery();
var cmdInsertXml = new SqlCommand("insert into t(doc) values (@doc);", con);
var pDoc = cmdInsertXml.Parameters.Add("@doc", System.Data.SqlDbType.Xml);
var doc = XDocument.Parse("<root><cn/><cn/><cn/></root>");
pDoc.Value = doc.CreateReader();
cmdInsertXml.ExecuteNonQuery();
var cmdRetrieveXml = new SqlCommand("select id, doc from t",con);
using (var rdr = cmdRetrieveXml.ExecuteReader())
{
while (rdr.Read())
{
var xr = rdr.GetSqlXml(1);
var rd = XDocument.Parse(xr.Value);
Console.WriteLine(rd.ToString());
}
}
}
}
}
}
【问题讨论】:
-
这是一个关于如何从文件中创建 xml 类型参数的问题吗?如果是这样,该示例的其余部分几乎是杂音,问题并不能反映真正的问题。
标签: c# sql sql-server