C#:SQL从SqlDataReader获取最后一行?
我需要对表列中的日期进行排序,并从阅读器中获取最后一行(即:最新日期)。我尝试了以下方法:C#:SQL从SqlDataReader获取最后一行?,c#,mysql,sql,asp.net,.net,C#,Mysql,Sql,Asp.net,.net,我需要对表列中的日期进行排序,并从阅读器中获取最后一行(即:最新日期)。我尝试了以下方法: using (SqlConnection con = new SqlConnection(conString)) { SqlCommand cmd = new SqlCommand("Select * From ActivityTable ORDER BY CONVERT(DATE, Date) ASC",
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand("Select * From ActivityTable
ORDER BY CONVERT(DATE, Date) ASC", con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
//I need to skip reading all the rows UNTIL the last row. I only need the last row
while (rdr.Read())
{
locationOfPrevious = rdr["Location"].ToString();
nodeid_previous = rdr["NodeID"].ToString();
}
rdr.Close();
}
我相信查询是正确的,但我无法从查询结果中获取最后一行(即根据排序记录的最后一个日期)。雅尔有什么建议?谢谢各位:)我建议按desc排序并取第一行-更高效我建议按desc排序并取第一行-更高效使用下面的查询
Select Top 1 * From ActivityTable ORDER BY CONVERT(DATE, Date) DESC //SQL
您可以使用LIMIT
关键字在MySQL
Select * From ActivityTable ORDER BY CONVERT(DATE, Date) DESC LIMIT 0,1 //MYSQL
使用下面的查询
Select Top 1 * From ActivityTable ORDER BY CONVERT(DATE, Date) DESC //SQL
您可以使用LIMIT
关键字在MySQL
Select * From ActivityTable ORDER BY CONVERT(DATE, Date) DESC LIMIT 0,1 //MYSQL
TOP
是无效的MySQL语法。在MySQL中,与关键字LIMIT
TOP
等效的MySQL语法是无效的。在MySQL中,与关键字LIMIT
等效的Lmao xD是最好的。感谢男士:PI获得“IndexOutfrange异常”虽然检查字段“Location”和“NodeID”是否存在并且拼写正确?@MWUser编辑您将代码更改为上面的内容,这样我们就可以了解您为什么会获得该错误。为什么我没有想到Lmao xD是最好的。感谢男士:PI获得“IndexOutfrange异常”尽管检查字段“Location”和“NodeID”是否存在,拼写是否正确?@MWUser编辑您将代码更改为上面的内容,以便我们了解出现该错误的原因。