Jump to content

Consulta Vb.Net 2010 & SQL Server 2008


Recommended Posts

Antes que todo muy buenas tardes a todos, es mi primer post en esta secion y necesito ayuda.

 

espero que puedan orientarme.

 

Estoy trabajando con VB.NET 2010 en 3 Capas (Diseño,Logica,BD) y SQL Server 2008.

 

Tengo una tabla llamada "Productos" en la cual manejo la siguiente información.

 

ID Codigo Nombre Cantidad Valor

1 100 Pato 2 100

2 40 Perro 3 1000

3 100 Pato 10 100

 

Necesito recupera la Suma de los mismos Codigo.

 

Es decir la suma del ID (1 y 3)

 

En SQL con esta consulta se puede recuperar la SUMA.

 

select SUM(cantidad) from productos where codigo = 1

 

Con eso obtengo la cantidad de todos los códigos "1"

 

Public Function ObtenerProducto() As List(Of ClaseProducto)
	Dim misProductos As List(Of ClaseProducto) = New List(Of ClaseProducto)
	Try
		Dim Sql As String = "SELECT * FROM productos"
		Dim Db As BaseDatos = New BaseDatos()
		Db.Conectar()
		Db.CrearComando(Sql)
		Dim DatosProductos As DbDataReader = Db.EjecutarConsulta()
		Dim productoTemp As ClaseProducto = Nothing
		While DatosProductos.Read
			Try
				productoTemp = New ClaseProducto(DatosProductos.GetValue(0), DatosProductos.GetValue(1), DatosProductos.GetValue(2), DatosProductos.GetValue(3), DatosProductos.GetValue(4), DatosProductos.GetValue(5), DatosProductos.GetValue(6), DatosProductos.GetValue(7), DatosProductos.GetValue(8))
				misProductos.Add(productoTemp)
			Catch ex As InvalidCastException
				Throw New LogicaException("Los tipos no coinciden.", ex)
			Catch ex As DataException
				Throw New LogicaException("Error de ADO.NET.", ex)
			End Try
		End While
		DatosProductos.Close()
		Db.Desconectar()
	Catch ex As BaseDatosException
		Throw New LogicaException("Error al acceder a la base de datos para obtener los productos.")
	Catch ex As LogicaException
		Throw New LogicaException("Error al obtener los productos.")
	End Try
	Return misProductos
End Function

 

Pero necesito enviar la SUMA a un Textbox en .NET

 

En mi formulario tengo 2 Textbox, uno para capturar el Codigo en la Base dato y el otro para obtener la SUMA y un button.

 

Adjunto detalle de codigo, Formulario.

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
	If Me.Button1.Text = "" Then
		MsgBox("Debe ingresar código a buscar", MsgBoxStyle.Critical, "Fast Food")
		Me.Button1.Focus()
	Else
		Dim misProductos As New List(Of ClaseProducto)
		misProductos = ControladorProducto.singletonProducto.ObtenerProducto()
		For Each miProducto As ClaseProducto In misProductos				If miProducto.CodigoProducto = Me.TextBox1.Text Then
				Exit Sub
			End If
		Next
		MsgBox("El producto no existe", MsgBoxStyle.Information, "Fast Food")
		ModificarProducto.txtCodigoaBuscar.Clear()
		ModificarProducto.txtCodigoaBuscar.Focus()
	End If
End Sub

 

Controlador de Productos.

 

Private Shared _controladorProducto As ControladorProducto
Public Shared Function singletonProducto() As ControladorProducto
	If _controladorProducto Is Nothing Then
		_controladorProducto = New ControladorProducto
	End If
	Return _controladorProducto
End Function

 

Public Function ObtenerProducto() As List(Of ClaseProducto)
	Dim misProductos As List(Of ClaseProducto) = New List(Of ClaseProducto)
	Try
		Dim Sql As String = "SELECT * FROM productos"
		Dim Db As BaseDatos = New BaseDatos()
		Db.Conectar()
		Db.CrearComando(Sql)
		Dim DatosProductos As DbDataReader = Db.EjecutarConsulta()
		Dim productoTemp As ClaseProducto = Nothing
		While DatosProductos.Read
			Try
				productoTemp = New ClaseProducto(DatosProductos.GetValue(0), DatosProductos.GetValue(1), DatosProductos.GetValue(2), DatosProductos.GetValue(3), DatosProductos.GetValue(4), DatosProductos.GetValue(5), DatosProductos.GetValue(6), DatosProductos.GetValue(7), DatosProductos.GetValue(8))
				misProductos.Add(productoTemp)
			Catch ex As InvalidCastException
				Throw New LogicaException("Los tipos no coinciden.", ex)
			Catch ex As DataException
				Throw New LogicaException("Error de ADO.NET.", ex)
			End Try
		End While
		DatosProductos.Close()
		Db.Desconectar()		Catch ex As BaseDatosException
		Throw New LogicaException("Error al acceder a la base de datos para obtener los productos.")
	Catch ex As LogicaException
		Throw New LogicaException("Error al obtener los productos.")
	End Try
	Return misProductos
End Function

 

Espero que me pueden ayudar. Saludos Cordiales.

Edited by slipknot_is_music
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...