如何由SQL的数据表生成XML,更新XML后再保存回SQL数据表 如何由SQL的数据表生成XML,更新XML后再保存回SQL数据表 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --生成XMLselect * From sysobjects for xml auto--================================================--导入XMLDECLARE @idoc int DECLARE @doc varchar(1000) --sample XML document SET @doc =' <root> <Customer cid= "C1" name="Janine" city="Issaquah"> <Order oid="O1" date="1/20/1996" amount="3.5" /> <Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied </Order> </Customer> <Customer cid="C2" name="Ursula" city="Oelde" > <Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue white red"> <Urgency>Important</Urgency> Happy Customer. </Order> <Order oid="O4" date="1/20/1996" amount="10000"/> </Customer> </root> ' -- Create an internal representation of the XML document. EXEC sp_xml_preparedocument @idoc OUTPUT, @doc -- Execute a SELECT statement using OPENXML rowset provider. SELECT * FROM OPENXML (@idoc, '/root/Customer/Order', 1) WITH (oid char(5), amount float, comment ntext 'text()') EXEC sp_xml_removedocument @idoc 谢jxnetinfo(开心一聊)的回答但是导入的时候能否是一个XML文件我的想法是在WEB上用XML作为临时存储数据,当录入完数据后再一次性的保存到SQL SERVER上! string diffGramXsd = Application.StartupPath + "\\diffGram.xsd"; string diffGramXml = Application.StartupPath + "\\diffGram.xml"; DataSet ds = new DataSet("XmlProduct") ; ConnDB dbConn = new ConnDB() ; SqlDataAdapter da = new SqlDataAdapter("select * from T_Product",dbConn.Conn) ; da.Fill(ds,"Product") ; ///Edit first Row ds.Tables["Product"].Rows[0]["Cate_id"] = "NewCate_id" ; ///Add a new Row DataRow dr = ds.Tables["Product"].NewRow() ; dr["Cate_id"] = 00011 ; dr["Sku_id"] = 10020 ; dr["Sku_Desc"] = "Test sku" ; ds.Tables["Product"].Rows.Add(dr) ; ///Generate xsd and xml file ds.WriteXmlSchema(diffGramXsd); ds.WriteXml(diffGramXml,XmlWriteMode.DiffGram); ds.AcceptChanges() ; //更新数据库 dataGrid1.DataSource = ds ; dataGrid1.DataMember = "Product" ; ///Generate XmlDataDocument dataDoc = new XmlDataDocument(ds) ; XmlNodeList nodeList = dataDoc.SelectNodes("//Cate_id") ; foreach(XmlNode node in nodeList) { listBox1.Items.Add(node.InnerText) ; } 求高手帮忙写个算法 谁知道它这个 星座的算法是怎么折腾的不。 有关C#做股票软件的问题 高分求解,Datagridview排序问题 怎样将PDF格式转换为图片格式或tif格式 请问在text控件中怎么实现文字多种颜色的同时显示,如文本编辑器中的关键字突出显示 怎么样在关闭线程时先执行一个我写的方法? session是不是有这样的毛病啊?还是我用错了?? 【关于Windows控件库的问题】 如何区分本地磁盘分区和网络映射的驱动器? 200分求oledbConnection取表信息的问题 为什么验证控件限制不了button按钮(点击此按钮弹出确认对话框)了呢?
select * From sysobjects for xml auto--================================================
--导入XML
DECLARE @idoc int
DECLARE @doc varchar(1000)
--sample XML document
SET @doc ='
<root>
<Customer cid= "C1" name="Janine" city="Issaquah">
<Order oid="O1" date="1/20/1996" amount="3.5" />
<Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied
</Order>
</Customer>
<Customer cid="C2" name="Ursula" city="Oelde" >
<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue
white red">
<Urgency>Important</Urgency>
Happy Customer.
</Order>
<Order oid="O4" date="1/20/1996" amount="10000"/>
</Customer>
</root>
'
-- Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc -- Execute a SELECT statement using OPENXML rowset provider.
SELECT *
FROM OPENXML (@idoc, '/root/Customer/Order', 1)
WITH (oid char(5),
amount float,
comment ntext 'text()')
EXEC sp_xml_removedocument @idoc
但是导入的时候能否是一个XML文件
我的想法是在WEB上用XML作为临时存储数据,当录入完数据后再一次性的保存到SQL SERVER上!
string diffGramXml = Application.StartupPath + "\\diffGram.xml";
DataSet ds = new DataSet("XmlProduct") ;
ConnDB dbConn = new ConnDB() ;
SqlDataAdapter da = new SqlDataAdapter("select * from T_Product",dbConn.Conn) ;
da.Fill(ds,"Product") ;
///Edit first Row
ds.Tables["Product"].Rows[0]["Cate_id"] = "NewCate_id" ;
///Add a new Row
DataRow dr = ds.Tables["Product"].NewRow() ;
dr["Cate_id"] = 00011 ;
dr["Sku_id"] = 10020 ;
dr["Sku_Desc"] = "Test sku" ;
ds.Tables["Product"].Rows.Add(dr) ;
///Generate xsd and xml file
ds.WriteXmlSchema(diffGramXsd);
ds.WriteXml(diffGramXml,XmlWriteMode.DiffGram);
ds.AcceptChanges() ; //更新数据库
dataGrid1.DataSource = ds ;
dataGrid1.DataMember = "Product" ;
///Generate XmlDataDocument
dataDoc = new XmlDataDocument(ds) ;
XmlNodeList nodeList = dataDoc.SelectNodes("//Cate_id") ;
foreach(XmlNode node in nodeList)
{
listBox1.Items.Add(node.InnerText) ;
}