前两天客户给返回一个bug,说列表编辑完,保存时候原来的列表顺序变了,因为列表行用的js生成的,所以将数据的ID存储的,想了想,觉得这个js应该是没问题的,于是看了下数据的字段,发现ID字符串的顺序也是没问题的。
最终看了下sql生成的数据源,发现数据源的顺序和ID字符串的顺序是不一样的,于是把sql 在数据库执行了下,发现IN的数据自动根据字段不排序了。于是,便开始找答案,
网上的该答案经验证可以。列此已做记录
SELECT * FROM dbo.TableName WHERE ID IN (37,35,36) ORDER By charindex(','+ CONVERT(NVARCHAR(100),ID) +',', ',37,35,36,')