小编rob*_*ing的帖子

TSQL FOR XML格式

我有一个表,我想转换成XML格式.该表称为tempTable,并保存数据:

REF     DESC     QTY
100001  Normal   1
100002  OOH      1
Run Code Online (Sandbox Code Playgroud)

我需要以这种给定的格式创建XML:

<row>
  <LIN NUM="1">
    <FLD NAME="REF">100001</FLD>
    <FLD NAME="DES">Normal</FLD>
    <FLD NAME="QTY">1</FLD>
  </LIN>
  <LIN NUM="2">
    <FLD NAME="REF">100002</FLD>
    <FLD NAME="DES">OOH</FLD>
    <FLD NAME="QTY">1</FLD>
  </LIN>
</row>
Run Code Online (Sandbox Code Playgroud)

我试过以下代码:

SET @line = (SELECT '1' AS '@NUM', REF AS 'REF', DES AS 'DES', QTY AS 'QTY' FROM tempTable WHERE ORDER= @ORDER
FOR XML PATH('LIN'))

SELECT @line
FOR XML PATH
Run Code Online (Sandbox Code Playgroud)

然而,这会产生:

<row>
  <LIN NUM="1">
    <REF>100001</REF>
    <DES>Normal</DES>
    <QTY>1</QTY>
  </LIN>
  <LIN NUM="1">
    <REF>100002</REF>
    <DES>OOH</DES>
    <QTY>1</QTY>
  </LIN>
</row>
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么做:

  • A)根据该订单的记录数,将"LIN"'NUM'属性更改为增量?
  • B)将'Name'属性添加到'LIN'细节并将字段名称更改为'FLD'.当我尝试将名称更改为"FLD"时,它将值汇总到一个节点上,如下所示:

    <row> …
    Run Code Online (Sandbox Code Playgroud)

xml t-sql sql-server for-xml-path

4
推荐指数
1
解决办法
331
查看次数

不支持SSRS移动报告

我正在尝试测试新的SSRS 2016功能,这是我到目前为止所拥有的:

  • 注册参加Azure试用版
  • 安装了SQL Server 2016 VM
  • 创建了一个DB
  • 配置报告服务以运行经典报告
  • 下载了Mobile Report Publisher

我一直在尝试使用预定的数据,但我想提取一些我熟悉的数据.当我尝试连接到服务器(localhost/reports)时,由于"服务器不支持移动报告",我收到服务器错误.

有什么我需要配置来启用它吗?

提前致谢

sql-server mobile azure reporting-services sql-server-2016

3
推荐指数
1
解决办法
3945
查看次数

PHP获取对象键

我有一个我为多维数组创建的javascript对象,见下文:

var myObject = {};

myObject['firstArray'] = ['firstValue', 'secondValue'];
myObject['secondArray'] = ['firstValue', 'secondValue'];
Run Code Online (Sandbox Code Playgroud)

然后我使用JSON stringify函数准备它传递给PHP页面:

arrayToPass = JSON.stringify(myObject);
Run Code Online (Sandbox Code Playgroud)

在PHP页面中,我然后解码对象:

$passedObject = file_get_contents( "php://input" );

$splitObject = json_decode($passedObject);
Run Code Online (Sandbox Code Playgroud)

然后我循环遍历splitObject以提取值:

foreach($splitObject as $array){
      echo ($array);
      echo"<br>";
     foreach($array as $value){
        echo $value;
            echo "<br>";
     }
  }
Run Code Online (Sandbox Code Playgroud)

输出如下:

Array
firstValue
secondValue

Array
firstValue
secondValue
Run Code Online (Sandbox Code Playgroud)

有没有办法让输出显示实际的数组名称而不仅仅是数组,所以结果应该是:

firstArray
firstValue
secondValue

secondArray
firstValue
secondValue
Run Code Online (Sandbox Code Playgroud)

我尝试使用echo key($array)但只返回0,因为它是一个对象而不是我相信的数组.

javascript php arrays object

0
推荐指数
1
解决办法
82
查看次数