我试图从SQLDataReader中读取一些内容..现在它出现错误说"当没有数据存在时无效的读取尝试"。但是当我进入调试器(附图)。我清楚地看到了我想要阅读的列和数据。我确定MyStatColumn有" p_era"在那里。我已经尝试了3种阅读专栏的方法,但他们都错了......任何人都可以帮忙吗?
string MyStatColumn;
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(_sql, connection))
{
using (RecordSet = command.ExecuteReader())
{
if (!RecordSet.HasRows)
{
return "No Data";
}
else
{
MyStatRankLeague = RecordSet[MyStatColumn + "_LeagueRank"].ToString(); //errors
MyStatRankOverall = RecordSet[MyStatColumn + "_MLBRank"].ToString(); //errors
MyStatRankOverall = AppendRankSuffix(MyStatRankOverall); //errors
}
}
}
}
}
答案 0 :(得分:4)
在尝试从中读取数据之前,您需要调用RecordSet.Read()。首次打开读者时,它们位于第一条记录之前,并且至少需要调用一次.Read才能将它们推进到结果集中的第一条记录。