Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas cn la sentencia UPDATE

Estas en el tema de Problemas cn la sentencia UPDATE en el foro de .NET en Foros del Web. Buenas tardes Gente.. Bueno hoy tengo algunos problemitas con la sentencia UPDATE.. pasa lo sigueente: En un Form tengo 2 combobox "Proveedor" y "Producto".. estos ...
  #1 (permalink)  
Antiguo 10/07/2012, 15:47
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación Problemas cn la sentencia UPDATE

Buenas tardes Gente..

Bueno hoy tengo algunos problemitas con la sentencia UPDATE.. pasa lo sigueente:

En un Form tengo 2 combobox "Proveedor" y "Producto".. estos estan relacionados, al elegir un proveedor m muestra unicamente los productos de dicho proveedor... (hasta ahi todo bn).. Tabien hay en el Form 2 textbox.. 1 txtbox deberia mostrarme la cantidad d productos disponibles (digo "deberia" porque aun no he logrado hacer que haga dicha funcion ) .. y el otro txtbox es para llenar..osea.. para agregar o quitar productos(NUMERICAMENTE), utilizando los botones "agregar"y"quitar" que estan en el form..

El problema es que no logro que solo le agregue o le quite una cantidad "x" al producto que yo seleccione del combobox (UNICAMENTE A ESE PRODUCTO)

Aquie les dejo el codigo que tngo(el cual no m funciona) :

Código vb:
Ver original
  1. Private Sub cmdquitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdquitar.Click
  2.         Using con As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012")
  3.             con.Open()
  4.  
  5.  
  6.             Dim queryproducto As String = "UPDATE producto SET cantidad_disponible=- @cantidad WHERE ID_producto="+cboproducto2.SelectedValue
  7.             Using cmd As New MySqlCommand(queryproducto, con)
  8.                 cmd.Parameters.AddWithValue("@cantidad", TextBox3.Text)
  9.                 cmd.ExecuteScalar()
  10.             End Using
  11.         End Using
  12.     End Sub

Si ven que estoy loco o algo.. entiendanme hago lo que puedo con lo que aprendo en el dia a dia.. Inicie esto hace un par d semanas ... Gracias de antemano, Saludos

PD: trabajo cn windowsforms y BD MYsql
__________________
David`Novato
  #2 (permalink)  
Antiguo 10/07/2012, 16:53
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Problemas cn la sentencia UPDATE

quizas algo asi

Código:
Private Sub cmdquitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdquitar.Click
        Using con As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012")
            con.Open()
 
            Dim cantidadProd  As String = Me.textboxDisponible.Text
            Dim cantidad As String = Me.textboxQuitarCantidad.Text
            Dim queryproducto As String = "UPDATE producto SET cantidad_disponible='" + cantidadProd - cantidad + "' WHERE ID_producto="+cboproducto2.SelectedValue //Checate bien si esa propiedad te da el ID del Producto
            Using cmd As New MySqlCommand(queryproducto, con)
                cmd.Parameters.AddWithValue("@cantidad", TextBox3.Text)
                cmd.ExecuteScalar()
            End Using
        End Using
    End Sub
__________________
Desarrollador .Net y Php
MCTS Framework 2.0:Windows Applications
Microsoft Certificated Profesional
  #3 (permalink)  
Antiguo 10/07/2012, 16:55
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Problemas cn la sentencia UPDATE

y creo que en la parte de cmd.ExecuteScalar esta mal, lo que hace esa funcion es traerte un unico valor, tendria que ser cmd.ExecuteQuery... algo asi para que ejecute el UPDATE de forma correcta ya que no devuelve ningun valor
__________________
Desarrollador .Net y Php
MCTS Framework 2.0:Windows Applications
Microsoft Certificated Profesional
  #4 (permalink)  
Antiguo 11/07/2012, 07:47
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas cn la sentencia UPDATE

Hice los cambios que m recomendaste.. pero aun sale el mismo error .. "La conversión de la cadena "UPDATE producto SET cantidad_dis" en el tipo 'Double' no es válida."
__________________
David`Novato
  #5 (permalink)  
Antiguo 11/07/2012, 09:19
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Problemas cn la sentencia UPDATE

Ya cambiaste la sentencia cmd.ExecuteScalar por cmd.ExecuteNonQuery()?

Por otro lado:

Dim queryproducto As String = "UPDATE producto SET cantidad_disponible='" & Convert.ToDouble(cantidadProd) - Convert.ToDouble(cantidad) &
"' WHERE ID_producto=" & cboproducto2.SelectedValue

Asegurate también que en las propiedades de DisplayMember y ValueMember de tu ComboBox cboproducto2 las tengas correctas, de tal forma que no tengas problemas con esta sentencia que agregas al UPDATE cboproducto2.SelectedValue
__________________
http://ka0stj.wordpress.com/
  #6 (permalink)  
Antiguo 11/07/2012, 09:43
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas cn la sentencia UPDATE

Bueno hice lo que me dijiste Ka0stj! No me da error.. pero al parecer no hace nada.. XD.. no hace e cambio en la BD..
__________________
David`Novato
  #7 (permalink)  
Antiguo 11/07/2012, 10:03
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Problemas cn la sentencia UPDATE

Que se supone que haces con esta linea?

cmd.Parameters.AddWithValue("@cantidad", TextBox3.Text)
__________________
http://ka0stj.wordpress.com/
  #8 (permalink)  
Antiguo 11/07/2012, 12:53
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas cn la sentencia UPDATE

Bueno en ese texbox es dond coloco el numero que le voy a quitar a la cantidad disponible... y si lo hace.. al principio lo hic sin condicion para probar.. y x ejemplo: ponia 5, y le quitaba 5 unidades a todos los productos.. pero ahora que quiero especificar a que producto es que le va a restar unidades es que no se como hacer
__________________
David`Novato
  #9 (permalink)  
Antiguo 11/07/2012, 12:56
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Problemas cn la sentencia UPDATE

Podrias colocar el codigo de la parte donde le agregas las propiedades de origen de datos a tu combobox?

cboproducto2.DataSource = ""
cboproducto2.DisplayMember
cboproducto2.ValueMember

Lo más seguro es que no haga nada porque en el filtro WHERE IdProducto = cboproducto2.SelectedValue le estes pasando un Id que no existe.
__________________
http://ka0stj.wordpress.com/
  #10 (permalink)  
Antiguo 11/07/2012, 13:39
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas cn la sentencia UPDATE

Código vb:
Ver original
  1. Try
  2.             Dim ds As New DataTable
  3.             ds = producto_carga(cboproveedor2.SelectedValue.ToString())
  4.             cboproducto2.DataSource = ds
  5.             cboproducto2.DisplayMember = "nombre_modelo"
  6.             cboproducto2.ValueMember = "ID_producto"
  7.             cboproducto2.SelectedIndex = -1
  8.  
  9.         Catch ex As Exception
  10.             Return
  11.         End Try

Asi lo tngo... ahi loque hace es q cuando se selecciona primero un proveedor .. en el combobox producto solo aparecen los productos de ese proveedor.. y luego ahi decidir si agregarle o quitarle unidades
__________________
David`Novato
  #11 (permalink)  
Antiguo 11/07/2012, 14:41
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Problemas cn la sentencia UPDATE

Correcto, ahora bien, en que evento se dispara el UPDATE? y después de hacer que cosa se ejecuta el UPDATE?

Te lo comento porque me imagino que se dispara al seleccionar un producto, o bien, seleccionas un producto y después presionas algún botón. En conclusión, antes de ejecutar el UPDATE seleccionas un producto? ya que al inicio lo mandas al index -1.
__________________
http://ka0stj.wordpress.com/
  #12 (permalink)  
Antiguo 11/07/2012, 14:56
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas cn la sentencia UPDATE

Exacto elijo el producto, pongo la cantidad de unidades que quiero quitar y luego presiono un boton.... el index lo puse en -1 para que al seleccionar el proveedor no se autollenara el combobox "producto" con el primer producto d la lista... si no que apareciera el campo en blanco y el usuario despliegue la lista y seleccione el que desee...
__________________
David`Novato
  #13 (permalink)  
Antiguo 11/07/2012, 16:12
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Problemas cn la sentencia UPDATE

Pon un BreakPoint en esta linea:

Dim queryproducto As String = "UPDATE producto SET cantidad_disponible='" & Convert.ToDouble(cantidadProd) - Convert.ToDouble(cantidad) &
"' WHERE ID_producto=" & cboproducto2.SelectedValue


Fijate si te esta regresando un valor esto cboproducto2.SelectedValue
__________________
http://ka0stj.wordpress.com/

Etiquetas: combobox, sentencia, textbox, update, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:51.