Visual Basic.NET - devolucion de consulta sum de un procedimiento almacenado

   
Vista:
Imágen de perfil de kike

devolucion de consulta sum de un procedimiento almacenado

Publicado por kike kiketo@hotmail.com (13 intervenciones) el 02/02/2016 18:19:42
Hola a Todos…..
Tengo una caja de texto que lo lleno asi:
1
txtTot.Text = Format(func1.sumaImporte(), "#0.00")

donde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Function sumaImporte() As Decimal
        Dim vimporte As Decimal
        vimporte = 0.0
 
        Try
            conectado()
            cmd = New SqlCommand("suma_importe_md")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = cnn
            cmd.Parameters.AddWithValue("@id_master", FrmVentas.Vid_master)
            cmd.Parameters.AddWithValue("@vImporte", vimporte)
            cmd.Parameters("@vImporte").Direction = ParameterDirection.Output
            cmd.ExecuteNonQuery()
            vimporte = Convert.ToDecimal(cmd.Parameters("@vImporte").Value)
            Return vimporte
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        Finally
            desconectado()
        End Try
    End Function

Y el procedimiento almacenado:
1
2
3
4
5
6
7
8
9
10
11
12
13
USE [kontrol]
GO
/****** Object:  StoredProcedure [dbo].[suma_importe_md]    Script Date: 02/02/2016 12:08:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[suma_importe_md]
@id_master  int,
@vImporte decimal(8,2)=0 output
as
select @vImporte=SUM(pt)
from master_d where id_master =@id_master
El problema es que siempre me llena la caja de texto con un valor entero, y quiero que me muestre la cantidad exacta por ejempl 46.79 mas no 47. No se cúal es el error si alguien pudiese orientarme o si conoce otro modo de hacerlo lo agradecería mucho.
Cuando consulto los parámetros del procedimientos me sale lo siguiente:

Sin-titulo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo

devolucion de consulta sum de un procedimiento almacenado

Un ligero cambio:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Try
	conectado()
	cmd = New SqlCommand("suma_importe_md")
	cmd.CommandType = CommandType.StoredProcedure
	cmd.Connection = cnn
	cmd.Parameters.Add("@id_master",SQLDbType.Int).Value=Convert.ToInt32( FrmVentas.Vid_master)
	cmd.Parameters.Add("@vImporte",SQLdbType.Decimal).Value= vimporte
	cmd.Parameters("@vImporte").Direction = ParameterDirection.Output
	cmd.ExecuteNonQuery()
	vimporte = Convert.ToDecimal(cmd.Parameters("@vImporte").Value)
	Return vimporte
Catch ex As Exception
	MsgBox(ex.Message)
	Return False
Finally
	desconectado()
End Try
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kike

devolucion de consulta sum de un procedimiento almacenado

Publicado por kike kiketo@hotmail.com (13 intervenciones) el 05/02/2016 15:53:46
Voila! lo encontré, según la literatura un procedimiento almacenado SOLO DEVUELVE ENTEROS,, asi que nunca iba a funcionar, pasé el procedimiento almacenado a función escalar y TODO BIEN.......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar