您的位置:首页 > 产品设计 > UI/UE

xquery--xml查询

2009-05-16 13:24 302 查看
xquery--xml查询
SELECT TRPerson.exist('person/data/detail[@id = "10003"]') FROM ED_TRAINEDREQUEST
select trperson.query('person/data/detail[@id="10003"]') from ED_TRAINEDREQUEST
select trperson.value('person[1]/data[1]/detail[1]/@id','varchar(20)') from ED_TRAINEDREQUEST
SELECT * FROM ED_TRAINEDREQUEST where TRPerson.exist('person/data/detail[@id = "10007"]')<>0 and TRPerson.exist('person/data/detail[@type = "部门"]')<>0
SELECT * FROM ED_TRAINEDREQUEST where TRPerson.exist('person/data/detail[@id = "10003"] [@type="部门"]')<>0
sqlserver2005里bit型可以直接用flase/true来存储.取值是返回相应的参数(DataTable返回boolean型),gridview也支持相关的显示.
用sql脚本在数据库里查时他们的值是1/0,这样在我们写查询条件时还得用1/0区别,但更新和插入直接用boolean型就好啦!
在asp.net使用xquery查询时提示
"SELECT 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'。请确保 SET 选项可正确用于计算列和/或查询通知和/或 xml 数据类型方法的索引视图和/或索引。 "
通过以下办法解决,我用Alter Database epower Set ARITHABORT On解决问题
你先在Management Studio里面,新建查询,然后执行:
SELECT is_ARITHABORT_on FROM sys.databases
看看你数据库中的ARITHABORT选项是开(1)还是关(0)
然后如果现在是1,那就改成0,如果0,那就改成1
方法是执行
Alter Database 你的数据库名字 Set ARITHABORT On / Off
官方解释:
如果 SET ARITHABORT 为 ON,并且 SET ANSI WARNINGS 也为 ON,则这些错误情况将导致查询终止。如果 SET ARITHABORT 为 ON,但 SET ANSI WARNINGS 为 OFF,则这些错误情况将导致批处理终止。如果在事务内发生错误,则回滚事务。如果 SET ARITHABORT 为 OFF 并且发生了这些错误之一,则显示一条警告消息,并将 NULL 赋予算术运算的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: