A continuacion el codigo:
Código vb:
Ver original
Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActualizar.Click If btnActualizar.Visible = True Then btnActualizar.Visible = False ' Habilitar los textbox fHabilitar_textbox(False) ' Mostrar los botones 'fBotones(True) ' Mostrar el boton Cancelar btnCancelar.Visible = False Dim cn As New MySqlConnection(frmConexion.ConexionMySQL) cn.Open() Try Dim sqlA As String = "UPDATE detalle " & _ "INNER JOIN ordenantes ON detalle.id_ordenante = ordenantes.id_ordenante" & _ "INNER JOIN productos ON detalle.id_producto = productos.id_producto" & _ "INNER JOIN proveedores ON detalle.id_proveedor = proveedores.id_proveedor" & _ "INNER JOIN tipo_inst ON detalle.id_tipo = tipo_inst.id_tipo" & _ "SET detalle.nro = @no, detalle.fecha = @fechao, detalle.boaimp = @boaimp," & _ "detalle.boaexp = @boaexp, detalle.nroinst = @noinstrumento, detalle.aad = @aad," & _ "detalle.unidadcuenta = @unidadcuenta, detalle.montosucre = @montoucre," & _ "detalle.montousd = @montousd, detalle.paisimp = @paisimp," & _ "detalle.paisexp = @paisexp, ordenantes.nombre_ordenante = @ordenante," & _ "productos.cod_arancelario = @codarancelario, proveedores.nombre_proveedor = @beneficiario," & _ "proveedores.nrocuenta = @nocuentacliente, tipo_inst.nombre_tipoinst = @tipoinstrumento" & _ "WHERE detalle.nroref = @noref " 'Se toman los 2 valores despues de la cuarta letra del boaimport Dim iCadena As String = txtBOAI.Text Dim isSubCadena As String = iCadena.Substring(4, 2) 'Se toman los 2 valores despues de la cuarta letra del boaexport Dim eCadena As String = txtBOAE.Text Dim esSubCadena As String = eCadena.Substring(4, 2) 'Se declara como decimal este campo Dim valor As Decimal = txtUnidadcuenta.Text Dim valor2 As Decimal = txtMonto.Text Dim valor3 As Decimal = txtMontousd.Text Dim cmd = New MySqlCommand(sqlA, cn) cmd.Parameters.AddWithValue("@noref", txtReferencia.Text) cmd.Parameters.AddWithValue("@no", txtNo.Text) cmd.Parameters.AddWithValue("@fechao", dtpicker1.Value.ToString("yyyy-MM-dd")) cmd.Parameters.AddWithValue("@codarancelario", txtCodArancelario.Text) cmd.Parameters.AddWithValue("@unidadcuenta", valor) cmd.Parameters.AddWithValue("@monto", valor2) cmd.Parameters.AddWithValue("@montousd", valor3) cmd.Parameters.AddWithValue("@boaimp", txtBOAI.Text) cmd.Parameters.AddWithValue("@boaexp", txtBOAE.Text) cmd.Parameters.AddWithValue("@paisimp", isSubCadena) cmd.Parameters.AddWithValue("@paisexp", esSubCadena) cmd.Parameters.AddWithValue("@beneficiario", txtBeneficiario.Text) cmd.Parameters.AddWithValue("@nocuentacliente", txtNocuenta.Text) cmd.Parameters.AddWithValue("@ordenante", txtOrdenante.Text) cmd.Parameters.AddWithValue("@noinstrumento", txtNoinst.Text) cmd.Parameters.AddWithValue("@tipoinstrumento", txtTipoinst.Text) cmd.Parameters.AddWithValue("@aad", txtAAD.Text) 'Ejecutar instruccion sql Update cmd.ExecuteNonQuery() ' Se crean los comandos para el SQL cmdActualizado = New MySqlCommand() cmdActualizado.Connection = cn cmdActualizado.CommandText = sSqlOperaciones cmdActualizado.CommandType = CommandType.Text ActualizaSQL = cmdActualizado.ExecuteReader() ActualizaSQL.Read() MessageBox.Show("Registro actualizado en la tabla!!!") fLimpiar_textbox() ActualizaSQL.Close() Catch ex As Exception MessageBox.Show("Error en la Actualización!!! " & Environment.NewLine & ex.Message.ToString) Me.Visible = False frmMenu.Show() End Try End If fCancelar() End Sub