[英]Query returning different result in VS2017 than in SSMS
我正在查詢SSMS中的一張表,以填充Visual Studio中的gridview。 我建立了查詢以將varchar值排序為數字值。 我已經嘗試了幾種不同的方法在SSMS中取得成功。
ORDER BY case
when IsNumeric(mycol) = 1 then CONVERT(float, mycol)
else mycol
end
ORDER BY try_convert(float, mycol)
當我對gridview進行排序時,返回的值將按字符串(1、100、2、200)進行排序。 我在VS中跟蹤了查詢,將其復制到SSMS中並返回了正確的結果。 誰能闡明這個問題?
問題不是我的查詢,而是GridViewSortEvent。 排序時,我在查詢數據並將其綁定到gridview的地方調用GV_Sorting,然后排序事件再次將其作為字符串值進行了排序,因為表中的列為varchars。 我通過取消方法第一行中的排序事件來停止此操作。
e.Cancel = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.