none
CONTAR FILAS DEVUELTAS POR SELECT RRS feed

  • Pregunta

  • Hola, agradecería me ayudaran porque me he atascado aquí, no se qué pasa:

    num = (int)bdd.selectScalar("SELECT COUNT (*) FROM Tabla WHERE campoTabla=" + campoTabla);

    antes de eso, declaro la vble de bdd, le hago nueva, y el selectScalar hace, pasándole la consSelect:

                if (consSelect.Length == 0) return null;
                if (consSelect.ToUpper().IndexOf("SELECT") == -1) return null;
                if (consSelect.ToUpper().IndexOf("DROP") > -1) return null;
    
              
                OleDbConnection con = new OleDbConnection(cadenaCon);
                OleDbCommand command = new OleDbCommand(consSelect, con);
    
                con.Open();
                object n = command.ExecuteScalar();
    
                con.Close();
                return n;

    Total que me da error en el ExecuteScalar :"NO SE HAN ESPECIFICADO VALORES PARA ALGUNOS DE LOS PARÁMETROS REQUERIDOS"

    Espero me ayuden. Saludos.

    miércoles, 21 de octubre de 2015 11:42

Respuestas

  • Hola

    Mira todas las consultas que yo creo las pruebo primero en el administrador de SQL y para comprobar que me devuelve el valor deseado.

    Probé tu línea y funciona bien, así que tu problema debe venir del dato que capturas en el programa y le pasas al Select. Tal vez no tiene el formato correcto, o el tipo de dato.

    int num = (int)bdd.selectScalar("SELECT COUNT (*) FROM Tabla WHERE campoTabla=" + ValordelcampoTabla);

    mi consejo es que pongas un punto de interrupción y chequees los valores que toman tus variables antes de pasárselo a la consulta.

    No olvides marcar como respuesta si te ha sido útil.

    Saludos

    Jorge Garcia Suárez


    • Editado Jorge Garcia Suárez miércoles, 21 de octubre de 2015 13:10 explicar mas
    • Marcado como respuesta Elena_Nueva miércoles, 21 de octubre de 2015 16:39
    miércoles, 21 de octubre de 2015 13:09

Todas las respuestas

  • Hola, investigando en Internet no encuentro solución pero ¿Será por no incluir tras el COUNT(*), el AS? Aunque creo que no, la consulta debe estar mal, ayúdenme por favor

    miércoles, 21 de octubre de 2015 12:36
  • Hola

    Mira todas las consultas que yo creo las pruebo primero en el administrador de SQL y para comprobar que me devuelve el valor deseado.

    Probé tu línea y funciona bien, así que tu problema debe venir del dato que capturas en el programa y le pasas al Select. Tal vez no tiene el formato correcto, o el tipo de dato.

    int num = (int)bdd.selectScalar("SELECT COUNT (*) FROM Tabla WHERE campoTabla=" + ValordelcampoTabla);

    mi consejo es que pongas un punto de interrupción y chequees los valores que toman tus variables antes de pasárselo a la consulta.

    No olvides marcar como respuesta si te ha sido útil.

    Saludos

    Jorge Garcia Suárez


    • Editado Jorge Garcia Suárez miércoles, 21 de octubre de 2015 13:10 explicar mas
    • Marcado como respuesta Elena_Nueva miércoles, 21 de octubre de 2015 16:39
    miércoles, 21 de octubre de 2015 13:09
  • Hola, gracias por su respuesta.

    Sí, creo que lleva la razón, la consulta parecía correcta. He optado por hacer la función que pretendía realizar de otra manera para así intentar que funcione.

    Muchas gracias, saludos.

    miércoles, 21 de octubre de 2015 16:39