在执行 ExecuteXmlReader 时出现如下错误:
发送到 ExecuteXmlReader 的命令无效。该命令必须返回 Xml 结果。
原因是 sql 语句不支持,应该在 sql 中加上 FOR XML,具体请参见 SQL Server 联机丛书或 SqlCommand 对象-ExecuteXmlReader() 方法的使用。关于 FOR XML 子句这里有几点说明:
- 是 RAW(生的),而不是 ROW,虽然指定 RAW 时,返回的节点是 row。
- 如果不指定 ELEMENTS,则每一个字段存为一个属性,如果指定了,则每个字段存为一个节点。
- 这种类型的查询仅在 Microsoft SQL Server 2000 或更高版本中可用。
