2017-02-10 65 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