El .ExecuteNonQuery() retorna el numero de registros que se modificaron con la ejecucion de la sentencia sql. Esta concebido para sentencias UPDATE y DELETE basicamente (creo que inserts tambien, pero no estoy seguro).
Puedes entonces hacer una de varias cosas:
- Incluir un DataAdapter/Dataset, y llenar el dataset usando el DataAdapter y el command. El dataset tendria el resultado de ejecutar la consulta (la estructura y filas que trae el command) en una tabla, para la cual podrias calcular facilmente la cantidad de filas.
Seria algo como (el codigo no esta escrito estrictamente, sino para darte una idea):
Código:
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = commAccess;
adapter.Fill(dataset);
int numrows = dataset.Tables[0].Rows.Count;
Esa opcion NO ES RECOMENDABLE, si lo unico que quieres es saber la cantidad de filas.
- Puedes (y deberias) crear otro procedimiento que haga un COUNT(*) de los registros, si solo quieres saber la cantidad de records de la consulta. Asi, con el metodo ExecuteScalar(); del Command tendrias el dato.
Código:
int cantidadRegistros = (int) commCount.ExecuteScalar();