将数据从存储过程填充到DataTable
时,我遇到了奇怪的行为。
我要填的是:
存储过程的输出:
MINI COMBO
Coke Float
在Stuff
中通过在MINI COMBO之后添加CHAR(13)
和在Coke Float之前添加一些空格来构建。
填写后DataTable
反映:
Coke Float
MINI COMBO
这对我来说真的很新,请帮忙。
提前致谢
答案 0 :(得分:0)
这是一个订购问题。由于各种原因,从存储过程输出的顺序可能随时更改,除非您指定ORDER BY语句。
例如:
SELECT TXNID, ItemName = STUFF( ( SELECT Case When Level > 0 Then Case When
ItemName like '%(%' Then ','+ItemName Else '( '+ ItemName+' ' End Else CHAR(13) + Space(Spaces * 5) + ItemName+' ' End
FROM #ARLines_2 x1 WHERE TXNID = x.TXNID Order By Spaces FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, '') FROM #ARLines_2 AS x
GROUP BY ID
ORDER BY ItemName DESC
但我怀疑,您希望在下拉列表中显示某种层次结构顺序。即亲子关系。如果是这种情况,则需要在语句
的顺序中包含某种层次结构标识符