none
Procedimiento almacenado con la Funcion Max me devuelve -1 RRS feed

  • Pregunta

  • Hola:

    Tengo el siguiente procedimiento almacenado:

     

    ALTER PROCEDURE [dbo].[SP_ClienteCtaContaMax] -- Add the parameters for the stored procedure here AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here SELECT Max(CtaConta) FROM Clientes END

    Y cuando lo ejecuto desde sql server me da:

    

    Y cuando lo ejecuto mediante entity framework con el siguiente código:

    Dim contex As New GestionLlaveSQLEntities
                        c.CtaConta = contex.SP_ClienteCtaContaMax.ToString
                        

    c.CtaConta me da como resultado -1.

    El procedimeinto almacenado lo tengo importado, según la siguiente imagen:

    ¿Porqué no me saca el valor "4300000005", el cual sale cuando lo ejecuto desde el sql server?

    Un Saludo.

    Juan Carlos


    • Editado elturle lunes, 12 de noviembre de 2012 20:22
    lunes, 12 de noviembre de 2012 20:21

Respuestas

  • ¿Porqué no me saca el valor "4300000005", el cual sale cuando lo ejecuto desde el sql server?

    pero alli donde dice "Devuelve uan coleccion de" deberias selecionar "Escalares"

    tu procedure devuelve un tipo de dato simple un Integer

    porque le dejaste Ninguno ?


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 12 de noviembre de 2012 23:49

Todas las respuestas

  • ¿Porqué no me saca el valor "4300000005", el cual sale cuando lo ejecuto desde el sql server?

    pero alli donde dice "Devuelve uan coleccion de" deberias selecionar "Escalares"

    tu procedure devuelve un tipo de dato simple un Integer

    porque le dejaste Ninguno ?


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 12 de noviembre de 2012 23:49
  • Hola Leandro:

    Puse ninguno, porque todas las opciones que están dentro de ese cuadro pone "Devuelve una colección de" y entiendo que no devuelve una colección sino un solo valor.

    Por lo que para conseguir dicho valor he tenido que poner el siguiente código, no se si será correcto, o si se puede tener directamente sin meter en un for each.

    'c.CtaConta = contex.SP_ClienteCtaContaMax

    Dim q As ObjectResult(Of String) = contex.SP_ClienteCtaContaMax For Each r In q c.CtaConta = r.ToString() Next

    Un Saludo.

    Juan Carlos

    • Marcado como respuesta elturle miércoles, 14 de noviembre de 2012 15:50
    • Desmarcado como respuesta elturle miércoles, 14 de noviembre de 2012 15:51
    martes, 13 de noviembre de 2012 10:03
  • Muchas Gracias Leandro:

    No he podido marcar tu respuesta, porque cuando le doy a "Marcar como respuesta", me sale error inesperado.

    Un Saludo

    miércoles, 14 de noviembre de 2012 15:52