中国法律网
法律通行证: 用户名: 密码:  注册
律师加盟热线:400-8919-913   律信通 律信通  
律师
公众 咨询 贴吧
律信通 案件委托
频道 房产 婚姻 交通事故 保险 建设工程 劳动
留学
公司 合同 刑事辩护 医疗 知识产权 工商
新闻 宽频 文书 常识 案例
法规 专题 杂志 百科 论文
查找全国各地律师: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 点击各城市名拼音首字母查找律师 公众找律师,信赖律信通!律师做宣传,首选律信通!
公检法司
频道直达: 法界新闻 | 公安 | 检察 | 法院 | 司法 | 工商 | 税务 | 质检 | 聚焦国土 | 矿山与安全
公检法司
社会新闻 世间百态 人间冷暖 大千世界 权益保护 婚姻家庭 劳动保障经济纠纷
当前位置: 主页 > 法制新闻 > 经济纠纷 >

执行的 SQL SELECT 语句返回 XML 数据

时间:2012-08-23 05:39来源:张礼乔 作者:nanuo1060 中国法律网

ExecuteXMLReader 用 XmlReader 对象返回结果,然后可以用此对象读取获取 XML 数据,此方法只适用于 SqlCommand 类。SQL Server 扩展标准 SQL,可以用 XML 格式查询数据库并取得结果。你知道正当防卫。在 SQL SELECT 语句末尾添加 FOR XML 从句,语法如下:

FOR XML { RAW | AUTO | EXPLICIT }

[, XMLDATA]

[, ELEMENTS]

[, BINARY BASE64]

下表显示了 FOR XML 从句中使用的关键字的具体描述:

下面代码使用FOR XML AUTO从句从VERIFY(用户口令验证)表中用XML格式返回5行:

string sql = @"SELECT TOP 5 id, password, name, level, station, dept

FROM verify FOR XML AUTO";
SqlCommand comm = new SqlCommand(sql, con);
con.Open();
XmlReader xr=comm.ExecuteXmlReader ();
xr.Read();
while (!xr.EOF)
{
Response.Write(Server.HtmlEncode(xr.ReadOuterXml() + "<br>"));
}
xr.Close();
con.Close();

//哈~ 这个方法之前班主任提过下,这些语句我们也有学过,如果不是今看到了,我还真的把for xml这个给忘记了。但刚才试了一下,由于我用的数据表里的字段是用char类型,选择时是没有把空格给去了的,于是我用上trim(),但发现在ms sql是没有这个函数的用法的,在mysql才用,但可以用 ltrim(rtrim()) 但sql 给我报错了:Msg 6809, Level 16, State 1, Line 1
Unnamed tables cannot be used as XML identifiers as well as unnamed columns cannot be used for attribute names. Name unnamed columns/tables using AS in the SELECT statement.

呵呵。。。还不知道是什么原因,那么我应该怎样可以把空格去掉呢?

如果那位高手看了,麻烦给我一个解决的答案,谢谢!

(责任编辑:admin)
------分隔线----------------------------
免费法律咨询 在线提交,三十分钟内百分百回复!
中国法律网 版权所有 邮箱:service@5Law.cn 建议使用:1024x768分辨率,16位以上颜色 | 京ICP备2023040428号-1联系我们 有事点这里    [切换城市▲] 公司法
400-8919-913 工作日:9:00-18:00
周 六:9:00-12:00

法律咨询5分钟内回复
请用微信扫描二维码
关闭

关注网站CEO微信,与CEO对话