【发布时间】:2010-06-30 14:33:52
【问题描述】:
我正在尝试为 Web 服务动态编写一些 xml。最近向我展示了如何为我的 sql 查询使用 FOR XML AUTO 子句,但我不确定是否正确编写查询,除此之外,我不确定如何返回文档值
using (SqlConnection oCn = new SqlConnection())
{
oCn.ConnectionString = @"server=sql-server\cos;integrated security=SSPI;database=daas5";
oCn.Open();
// Create a SQL command object.
string strSQL = "SELECT * FROM dd615.musicdetails WHERE artistname LIKE '%" +
searchTerm + "%' OR recordname LIKE '%" + searchTerm + "%'
OR recordtype LIKE '%" + searchTerm + "%'
OR format LIKE '%" + searchTerm + "%'
FOR XML AUTO, ELEMENTS, ROOT('musicInformation') ";
SqlCommand myCommand = new SqlCommand(strSQL, oCn);
}
任何帮助将不胜感激
【问题讨论】:
-
您使用的是哪个版本的 SQL Server?什么——如果有的话——你得到了什么?输出只是“错误”,还是您收到错误 - 如果是这样,它是什么(请详细说明)?你能告诉我们你的 XML 最终应该是什么样子吗?
-
附带说明:你知道像这样的肯定会表现得很糟糕,对吧?搜索
LIKE %something%是禁用所有索引的完美方法,因此您将 150% 保证对表进行全表扫描..... -
我使用的 SQL 服务器版本是 2005 年,是的,这是一项匆忙的工作,一旦我得到它输出 XML,我将修复它。我现在不知道它是否有效,因为我设计了该方法,因此它返回一个值,我不确定如何从 sql 语句中获取 xml 并将其放入 XDocument/XmlDocument
标签: c# sql-server xml