Hola grisel... creo que para empezar cuando usas un ExecuteScalar es para devolver funciones agregadas (avg, count, sum, etc) y es por eso que te está marcando error.
Mas bien tu code podría quedar así:
Cita: public int ObtenerId(int idProyecto, int idEtapa)
{
DBTools.sqlDBToolsVB oDB = new DBTools.sqlDBToolsVB();
int identificador = (int)oDB.EjecutaScalar ("SELECT count(idInforme) FROM Itecnico WHERE idEtapa="+idEtapa.ToString()+" AND idProyecto="+idProyecto.ToString());
if(identificador == 0)
return -1;
else
return identificador;
}
Salu2