如何将完整的SQL表导出到XML
我的主要编码理想是在.net应用程序上。所以我在应用程序设计方面的技能有限。
我试图将整个表从数据库(使用视图)导出到XML文件(然后希望将其导出到电子表格 – 我看起来并且找不到直接的方法)。
我使用以下代码成功地只将1列导出到xml文件:
DataConn.UserName = "***"; DataConn.Password = "***"; DataConn.SqlServer = "***"; DataConn.Database = "***"; const string strSql = "SELECT TOP 1 * FROM vwGetStaffDetails FOR XML AUTO"; using (SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text }) { string result = sqlComm.ExecuteScalar().ToString(); File.WriteAllText(@"C:Temptext.xml", result); }
每当我使用ExecuteReader
或ExecuteXmlReader
,我都没有得到任何实际结果。
我怎么能得到所有的田地?
编辑:我必须使用Top 1
来使Execute Scalar
运行良好。
使用以下解决方案,我的文件显示:
<vwGetStaffDetails ImageLoc="****.jpg" LName="GAINES" FName="****" StaffTitle="****" JobPosition="****" Email="***@***.com" Code="***" Number="******" PhoneTypeID="1"/>
这是写作<
等而不是适当的XML。 有什么方法可以解决它吗?
您可以使用SqlDataAdapter
和System.Data.DataSet
来加载DataTable
,它将写入XML。
const string strSql = "SELECT * FROM vwGetStaffDetails"; using (SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text }) { SqlDataAdapter da = new SqlDataAdapter(sqlComm); DataSet ds = new DataSet(); da.Fill(ds); ds.Tables[0].WriteXml(@"C:Temptext.xml"); }
编辑使用此方法,您将从SQL中删除XML代码,并让.NET转换所有内容。 我已经更改了SQL命令以反映这一点。
您可能想看看如何编写输出为XML的查询。
关于这一点,互联网上有很多例子和教程。 这个https://msdn.microsoft.com/en-us/library/bb510462.aspx就是其中之一。
如果我没有弄错,返回的输出应该是一个包含完整XML内容的字符串。
上述就是C#学习教程:如何将完整的SQL表导出到XML分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1026550.html