ASP。NET我有一个string想插入数据库中,数据库对应列是一个XML类型的,怎么插入

<items><itemculture='en-us'value='"+item[0]+"'/><itemculture='zh-cn'value='"+item[1]+... <items><item culture='en-us' value='" + item[0] + "' /><item culture='zh-cn' value='" + item[1] + "' /><item culture='zh-hk' value='" + item[2] + "' /></items>"这是String的内容
数据库的效果是:

有什么方法呢?
展开
 我来答
wanbotang
2013-08-14 · TA获得超过292个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:99.1万
展开全部
你需要使用System.Data.SqlTypes.SqlXml作为参数类型追加到参数列表

SqlCommand command =
new SqlCommand(commandText, connection);

// Read the saved XML document as a
// SqlXml-data typed variable.
SqlXml newXml =
new SqlXml(new XmlTextReader("MyTestStoreData.xml"));

// Supply the SqlXml value for the value of the parameter.
command.Parameters.AddWithValue("@xmlParameter", newXml);
更多追问追答
追问
你好像没有弄懂我的意思
追答
你不是要将字符串作为XML写入到SQL SERVER的XML数据类型的列中么?
是你自己没有看懂吧,我再提供一段完整的代码给你,第二个参数就是你那个XML字符串:
static void InsertA(int aid, string contentXml)
{
//ConnString是连接字符串,需要额外定义
using (SqlConnection conn = new SqlConnection(ConnString))
{
conn.Open();
string sql = "INSERT INTO [A] ([ID],[Content])VALUES(@id,@content)";
using (SqlCommand comm = new SqlCommand(sql, conn))
{
using (XmlTextReader rdr = new XmlTextReader(contentXml, XmlNodeType.Document, null))
{
SqlXml sqlXml = new SqlXml(rdr);

SqlParameter parmID = new SqlParameter("@id", aid);
SqlParameter parmContent = new SqlParameter("@content", SqlDbType.Xml, sqlXml.Value.Length);
parmContent.Value = sqlXml;

comm.Parameters.Add(parmID);
comm.Parameters.Add(parmContent);
comm.ExecuteNonQuery();
}
}
}
}
百度网友115a69b
2013-08-14 · TA获得超过253个赞
知道小有建树答主
回答量:428
采纳率:50%
帮助的人:382万
展开全部
你数据库列类型是XML还是只是你的数据是XML类型的?

如果仅仅是数据是XML的,可以把它当成简单的字符串,使用参数化就可以了.
如果列是XML类型的列类型,就需要XML格式的数据.
更多追问追答
追问
数据库列类型是XML,我的数据是一个具有XML格式的字符串,想把它插入数据库,谢谢
追答
和普通数据插入没有区别.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式