2017-02-10 39 views
1

enter image description hereSqlDataReader的超出範圍的異常..解決不了

我一直在努力得到它現在的工作了近一個小時,不能讓它爲什麼不工作的任何意義。請幫忙!!這是我的代碼

SqlDataReader rs = cmdGet.ExecuteReader(); 
rs.Read(); 
var id = Convert.ToInt32(rs["id"]); 
var mt = rs["mt"].ToString(); 

的SQL語句是這樣的:

SELECT TOP 1 
     id = 0, 
     mt = MT 
    FROM 
     MyTable 
    ORDER BY 
     2 

我ID = 0和MT行代碼中斷。拋出:

System.IndexOutOfRangeException

有什麼不對?我看了很多帖子,但無法解決它。

+0

ID = 0?咦?那是幹什麼的?你有沒有試過在SSMS這樣的東西上運行這個查詢來看看你得到了什麼? – itsme86

+0

如果您運行查詢,您會得到什麼? – Saif

+0

你的桌子實際上是什麼樣的?很難確切知道你在當前查詢中想要做什麼。 –

回答

1

除了說你有沒有現場命名mt所以你需要改變你的查詢到這一點,它應該工作:

SELECT TOP 1 id, mt 
FROM MyTable 
WHERE id = 0 
ORDER BY 2 
+0

謝謝!你是對的 –

+0

我很高興幫助你:) – Saif