一个
OracleDataReader对象表示一个只进,只读,内存中的结果集.与之不同的是DataSet,OracleDataReader对象保持连接并一次取出一行.
所以,它不知道会有多少行.如果使用数据适配器,则可以获取行数,因为它会获取行.
在您的情况下,您必须获取所有行(如果您只需要获取数据)以获取行计数:
OracleDataReader reader = cmd.ExecuteReader();
int rowCount = 0;
while (reader.Read())
{
// your logic here
rowCount++;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您不需要该数据,最好重新配置存储过程/查询以显式返回行计数.