0
我正在C#(學習C#)中構建一個工資覈算應用程序,該應用程序將集成到SAP Business 1. 在SAP中創建表時,SAP會自動生成兩個字段用戶定義的表格。一個是代碼 - (主鍵),另一個是名稱。兩者都是varchar/alphanumeric類型。C#Linq to SQL通過代碼重新排序的問題(varchar)
我有這個查詢返回的結果,雖然不是我想要的時尚。 I
Code Name U_Tax_year U_Minimum_pay U_Maximum_pay
0 0 2011 1 1
1 1 2011 2 2
10 10 2011 11 11
11 11 2011 12 12
2 2 2011 3 3
3 3 2011 4 4
4 4 2011 5 5
5 5 2011 6 6
6 6 2011 7 7
7 7 2011 8 8
8 8 2011 9 9
9 9 2011 10 10
這是由於代碼和名稱不是整數字段。
下面是我的查詢:
// Get service instances
var nhifTableSlabService = Program.Kernel.Get<INHIFTableSlabService>();
//Query database
var nhiftableSlabs = from tb in nhifTableSlabService.GetAllNHIFTableSlabs()
where tb.U_Tax_year.ToString().Trim().Equals(cb_tax_year.Text.Trim(), StringComparison.CurrentCultureIgnoreCase)
orderby int.Parse(tb.Code.ToString()) descending
select tb;
if (nhiftableSlabs.Any(x => x != null)
{
// Enable datagridview
dataGridView1.Visible = true;
...bla bla
}
我怎麼得到的結果,轉換代碼爲整數,這樣我終於可以顯示的遞減順序代碼的結果?
感謝您的回覆。但即使使用Convert.ToInt32(),我仍然有同樣的問題 –
你會得到一個異常,或者它只是不能正確排序嗎?您是否嘗試使用分析器查看生成的sql語句? – Variant
它只是沒有正確排序。我在Visual Studio 2010上使用了intelliTrace,生成的sql語句沒有order by子句。只是從表中選擇...我必須遇到一些語法問題 –