Para evitar el error al convertir string a byte[] por la manipulacion de imagenes en formulario visual studio.net con Picturebox y enviarlo a sql server campo tambien image
- Se debe convertir a byte. En este ejmplo en el codigo del BtnActualizar_Click. se realiza.
- La función que ejecuta el store procedure,se debe modificar para que reciba un objeto y no solo un estring. convertida en publica el acceso.
Private Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click
Try
Dim VId_AplicacionTextBox As String
Dim Vcbidmodulo As Integer
Dim VtbCodigoAplicacion As String
Dim VtbNombAplicacion As String
Dim VtbArchiEjecut As String
Dim VtbNombImg As String
Dim VCBEdoActivo As Boolean
Dim VtbVersion As String
'Dim VimagenAplic As Image
Dim ImgByte As Byte()
If Id_AplicaciónTextBox.Text <> "" Then
If tbCodigoAplicacion.Text.Equals("") = False And tbNombAplicacion.Text.Equals("") = False Then
VId_AplicacionTextBox = Id_AplicaciónTextBox.Text
Vcbidmodulo = GLUmodulos.EditValue
VtbCodigoAplicacion = tbCodigoAplicacion.Text
VtbNombAplicacion = tbNombAplicacion.Text
VtbArchiEjecut = tbArchiEjecut.Text
VtbNombImg = tbNombImg.Text
VCBEdoActivo = CBEdoActivo.Text
VtbVersion = tbVersion.Text
'VimagenAplic = PictureBox1.Image
Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
ImgByte = ms.GetBuffer
ms.Close()
ConexionSQL.Ejecutar("SP_SISTEMA_APLICACIONES_ABMTABLE_APTUALIZAR", VId_AplicacionTextBox,
Vcbidmodulo,
UCase(VtbCodigoAplicacion),
UCase(VtbNombAplicacion),
VtbArchiEjecut,
ImgByte,
VCBEdoActivo,
My.Application.IDUSUARIO,
VtbNombImg,
VtbVersion)
' Convert.ToString(VimagenAplic),
Else
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "No se pudo actualizar, algunos campos estan vacios. ").ShowDialog()
Exit Sub
End If
LIMPIAR_CAMPOS()
CARGAR_DATOS()
Else
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Para modificar, debe ingrezar primero la aplicación. ").ShowDialog()
Exit Sub
End If
Catch ex As Exception
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "#ERROR, 9987, Error al intentar acutalizar la aplicacion" + ex.Message).ShowDialog()
End Try
End Sub
-----------------------------------------------------------------------------------------------------------------------
El procedimiento esta acontinuacion:
Public Shared Function Ejecutar(Procedimiento As String, ParamArray Parametro() As Object) As DataTable
Try
i = 0
mCon.Open()
mCom = New SqlCommand
mCom.CommandText = Procedimiento
mCom.CommandType = CommandType.StoredProcedure
mCom.Connection = mCon
mDt = New DataTable
SqlCommandBuilder.DeriveParameters(mCom)
For i = 0 To Parametro.Length
If i > 0 Then
CType(mCom.Parameters(i), SqlParameter).Value = Parametro(i - 1)
End If
Next
mDt = CargarDataTable(mCom.ExecuteReader)
Return mDt
Catch ex As Exception
MessageBox.Show(ex.Message, "Mensaje de Sistema")
mDt = Nothing
Return mDt
Finally
mCon.Close()
End Try
End Function
Suscribirse a:
Enviar comentarios (Atom)
Los mail de oulook no se pueden reenviar.
cuando en el asunto poseen un caracter especial por ejemplo @#$ los correos no salen y no te muestra ningun correo de rebote, especialmente...
-
https://msdn.microsoft.com/en-us/library/office/ff192694.aspx filtros DoCmd.SetFilter Method (Access) Office 2013 and later Ot...
-
Tabla de operadores Access para Office 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Un operador es...
No hay comentarios:
Publicar un comentario