以文本方式查看主题

-  昂捷论坛  (http://enjoyit.com.cn/bbs/index.asp)
--  □-系统配置管理类  (http://enjoyit.com.cn/bbs/list.asp?boardid=34)
----  如何查询自定义表单数据表中信息  (http://enjoyit.com.cn/bbs/dispbbs.asp?boardid=34&id=8239)

--  作者:czg1981
--  发布时间:2012/4/10 15:02:02
--  如何查询自定义表单数据表中信息

自定义表单中增加了数据表格的控件,如果要将数据表格中的内容都获取,可以用cross apply来获取,例如下面的例子

select t.node.value(\'c_col1[1]\',\'varchar(1000)\') as c_col1,
   t.node.value(\'c_col2[1]\',\'varchar(1000)\') as c_col2,
   t.node.value(\'c_col3[1]\',\'varchar(1000)\') as c_col3,
   t.node.value(\'c_col4[1]\',\'varchar(1000)\') as c_col4,
   t.node.value(\'c_col5[1]\',\'varchar(1000)\') as c_col5
from tbc_eform_data cross apply c_data.nodes(\'/rows/row/c_partake_days/drows/drow\') as t(node)
 where c_guid=\'74C7DB79-386A-421D-A27A-2875DA078624\'

 

注:c_col1至c_col5代表数据表格中列明称;

c_partake_days为数据表格名称

 


--  作者:lsd4525
--  发布时间:2012/12/29 10:31:26
--  
select     convert(char(10),c_au_dt,120) as 日期, 
     c_id as 单据号,
     c_au_userno+u.c_name as 操作员,
           t.node.value(\'c_col1[1]\',\'varchar(1000)\') as 沃尔玛卡号,
     t.node.value(\'c_col2[1]\',\'varchar(1000)\') as 新象城卡号,
     t.node.value(\'c_col3[1]\',\'varchar(1000)\') as 类型,
     t.node.value(\'c_col4[1]\',\'varchar(1000)\') as 面值,
     t.node.value(\'c_col5[1]\',\'varchar(1000)\') as 手续费,
     t.node.value(\'c_col6[1]\',\'varchar(1000)\') as 合计,
     t.node.value(\'c_col7[1]\',\'varchar(1000)\') as 现金,
     t.node.value(\'c_col8[1]\',\'varchar(1000)\') as 银行卡,
     t.node.value(\'c_col9[1]\',\'varchar(1000)\') as 付款合计,
     t.node.value(\'c_col10[1]\',\'varchar(1000)\') as 备注  
    
 from tbc_eform_data td cross apply c_data.nodes(\'/rows/row/DateList/drows/drow\') as t(node),tb_user u
 where td.c_au_userno=u.c_userno 
  and c_eform_guid=\'770831CD-5A88-4C4F-B70D-A9A681E1FF25\'
  and td.c_status=\'已审核\'
  and (@操作员=\'\'or @操作员 is null or c_au_userno=@操作员)
  and (@类型 is null or @类型=\'\' or c_data.value(\'(/rows/row/DateList/drows/drow/c_col3)[1]\',\'nvarchar(max)\')=@类型)
  and t.node.value(\'c_col1[1]\',\'varchar(1000)\')<>\'\'
  and td.c_status=\'已审核\'
  and datediff(day,c_au_dt,@开始日期)<=0
  and datediff(day,c_au_dt,@结束日期)>=0