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

 
Vista:
Imágen de perfil de kike
Val: 26
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

devolucion de consulta sum de un procedimiento almacenado

Publicado por kike (26 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
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

devolucion de consulta sum de un procedimiento almacenado

Publicado por Wilfredo Patricio Castillo (718 intervenciones) el 03/02/2016 21:19:15
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
Val: 26
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

devolucion de consulta sum de un procedimiento almacenado

Publicado por kike (26 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