| |||
Update de una tabla en mysql con Visual Basic.net Saludos, pues estoy de practicas en un municipio y pues estoy puliendo para entrarle a un proyecto y pues em he trabado con el update, pues no puedo actualizar los datos de la tabla por más comando que use. trabajo con procedimiento almacenado. Procedimiento almacenado: CREATE DEFINER = 'root'@'localhost' PROCEDURE `usp_update_productos`( IN Codpro1 CHAR(6), IN Nombre1 VARCHAR(50), IN Categoria1 VARCHAR(30), IN Stock1 INTEGER(8), IN Precio1 DECIMAL(11,2), IN Comentario1 VARCHAR(200) ) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN update `producto` set Codpro=Codpro1, Nombre=Nombre1, Categoria=Categoria1, Stock=Stock1, Precio=Precio1, Comentario=Comentario1 where Codpro=Codpro1; END; Lo que deseo es actualizar los campos excepto el código, pues creo que debo quitarle el "Codpro=Codpro1", pero bueno ya lo probe y no da resultado. Este es el código de mi formulario al boton actualizar: Private Sub btnActualizar_Click(sender As System.Object, e As System.EventArgs) Handles btnActualizar.Click dat.actualizar_tabla_producto(txtcodpro.Text, txtnompro.Text, txtcategoria.Text, txtstock.Text, txtprecio.Text, txtcomentario.Text) Try Dim Codpro1 As String Dim Nombrepro1 As String Dim Categoria1 As String Dim Stock1 As Integer Dim Precio1 As Decimal Dim Comentario1 As String Codpro1 = txtcodpro.Text Nombrepro1 = txtnompro.Text Categoria1 = txtcategoria.Text Stock1 = txtstock.Text Precio1 = txtprecio.Text Comentario1 = txtcomentario.Text MsgBox("Se ha actualizado correctamente el registro", MsgBoxStyle.Information, "Actualización de Datos") Catch ex As Exception MsgBox("Se ha actualizado erróneamente el registro", MsgBoxStyle.Critical, "ERROR Actualización de Datos") End Try End Sub Y este es el código de mi clase 'ACTUALIZAR TABLA PRODUCTO Public Function actualizar_tabla_producto(Codpro1 As String, Nombrepro1 As String, Categoria1 As String, Stock1 As Integer, Precio1 As Decimal, Comentario1 As String) As Integer Try Dim cmd As New MySqlCommand("usp_update_productos", cn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue("@Codpro1", Codpro1) cmd.Parameters.AddWithValue("@Nombrepro1", Nombrepro1) cmd.Parameters.AddWithValue("@Categoria1", Categoria1) cmd.Parameters.AddWithValue("@Stock1", Stock1) cmd.Parameters.AddWithValue("@Precio1", Precio1) cmd.Parameters.AddWithValue("@Comentario1", Comentario1) cn.Open() Dim fls As Integer = cmd.ExecuteNonQuery Return fls Catch ex As Exception Return 0 Finally cn.Close() End Try End Function Cabe aclarar que no me marca ningun error, pero no logra actualizar al contrario, a los campos que son decimales elimina la coma o punto decimal. Espero vuestra ayuda. |
| |||
Respuesta: Update de una tabla en mysql con Visual Basic.net intenta actualizar utilizando un parametro como referencia que solo actualize cuando x variable se igual a alguna de la base de datos a ver si te funciona |
Etiquetas: |