none
WPF entity franework vb

    Pregunta

  • Hola amigos necesito su ayuda porfavor.
    Estoy creando una aplicacion en WPF vb con entity franework sql server.

    en mi ventana tiene texbox y botones

    en un boton llamado seleccionar y tiene el siguiente codigo:
     
     Dim openFile As New Microsoft.Win32.OpenFileDialog
            Dim b As New BitmapImage()

            openFile.Title = "Seleccione la Imagen a Mostrar"
            openFile.Filter = "Todos(*.*)|*.*|Imágenes|*.jpg;*.gif;*.png;*.bmp"

            Dim resultado As Nullable(Of Boolean)
            resultado = openFile.ShowDialog
            If resultado = True Then
                b.BeginInit()
                b.UriSource = New Uri(openFile.FileName)
                b.EndInit()
                Me.foto.Source = b
            End If
    con este codigo inserto una foto al control image de mi ventana
    hasta ahi todo bien

    ahora tengo otro boton llamado guardar con el siguiente codigo:

     Try
                Dim sql = (From p In DB.tbl_KardexDeVisitasEspeciales
                           Select p).First()
                txtID.Text = sql.ID_KardexDeVisitaEspecial.ToString
                txtApellidos.Text = sql.str_ApellidosDeVisitaEspecial.ToString
                txtNombres.Text = sql.str_NombresDeVisitaEspecial.ToString
        foto.image = sql.foto
                DB.SaveChanges()

            Catch ex As Exception
                MsgBox("NO SE GUARDO CORRECTAMENTE")
            End Try

    Cuando intento guardar los datos aparce error por el campo foto, el cual no se como
    solucionarlo. esta foto deseo que se guarde en la tabla del sql por imagen y no por ruta
    para poder transportarlo en algun momento....agradesco su ayuda.
    • Cambiado Enrique M. MontejoMVP martes, 29 de mayo de 2018 18:34 Pregunta relacionada con Entity Framework.
    lunes, 28 de mayo de 2018 20:29

Todas las respuestas

  • Hola amigos por favor necesito su ayuda

    estoy programando en wpf entity franework vb.net conectado a una base sql server, donde tiene un sp diseñado asi:

    ALTER PROCEDURE [dbo].[sp_InsUpd_tbl_VisitasEspeciales]
     @ID_VisitaEspecial int = NULL,
     @dtm_FecVisitaEspecial datetime,
    -- @hra_IngresoDeVisitaEspecial datetime,
     @ID_TipoDeVisitaEspecial int,
     @ID_DestinoDeVisitaEspecial int,
     @str_ObservacionesDeVisitaEspecial varchar(500),
     @ID_RegistradoPor int,
     @lng_CodigoGenerado int = NULL OUTPUT
    AS
    BEGIN 
     
     DECLARE @CorrelativoActual int
     
     IF @ID_VisitaEspecial IS NULL
     BEGIN   
        
        SELECT @CorrelativoActual = MAX(lng_CorrelativoDeVisitaEspecial) FROM tbl_VisitasEspeciales WHERE dtm_FecVisitaEspecial = @dtm_FecVisitaEspecial
        
        IF @CorrelativoActual IS NULL SELECT @CorrelativoActual = 0
        SELECT @CorrelativoActual = @CorrelativoActual + 1
        
        -- INSERTAR EL NUEVO REGISTRO EN LA BASE DE DATOS.
        --INSERT INTO tbl_VisitasEspeciales(dtm_FecVisitaEspecial, lng_CorrelativoDeVisitaEspecial, hra_IngresoDeVisitaEspecial, hra_SalidaDeVisitaEspecial, ID_TipoDeVisitaEspecial, ID_DestinoDeVisitaEspecial, str_ObservacionesDeVisitaEspecial, byt_StatusActual) VALUES (@dtm_FecVisitaEspecial, @CorrelativoActual, @hra_IngresoDeVisitaEspecial, NULL, @ID_TipoDeVisitaEspecial, @ID_DestinoDeVisitaEspecial, @str_ObservacionesDeVisitaEspecial, 1)

        INSERT INTO tbl_VisitasEspeciales(dtm_FecVisitaEspecial, lng_CorrelativoDeVisitaEspecial, ID_TipoDeVisitaEspecial, ID_DestinoDeVisitaEspecial, str_ObservacionesDeVisitaEspecial, byt_StatusActual, ID_RegistradoPor, ID_AnuladoPor) 
        VALUES (@dtm_FecVisitaEspecial, @CorrelativoActual, @ID_TipoDeVisitaEspecial, @ID_DestinoDeVisitaEspecial, @str_ObservacionesDeVisitaEspecial, 1, @ID_RegistradoPor, NULL) 

        SET @lng_CodigoGenerado = @CorrelativoActual
        
     END
     
    END

    esta base de datos es antigua pero no deseo modificar su estructura
    pero si deseo poder insertar un registro a la base de datos cuyo codigo es el siguiente:

     Using context As New SCVP_DataBaseEntities()
                Dim name As New ObjectParameter("lng_CodigoGenerado", GetType(Int32))
                context.sp_InsUpd_tbl_VisitasEspeciales(name,
                                                    date2.ToString,
                                                   cboTipoVisitaEspecial.SelectedValue,
                                                   cboDestinoVisitaEspecial.SelectedValue,
                                                   txtObservacion.Text,
                                                   txtRegistradoPor.Text,
                                                   name)

            End Using

    como pueden observar este codigo no funciona sale un mensaje de el numero de columnas con coiciden con la tabla
    el problema es en el ID_VisitaEspecial que en el codigo tengo que ponerlo porque es obligatoriio dice el visual studio
    pero el sp no hay necesidad de agregar el ID_VisitaEspecial porque lo tiene como null, esa es mi dificultad
    agradesco de antemano su apoyo.
    lunes, 28 de mayo de 2018 20:30
  • estos realizando una aplicacion con wpf entityfranework con vb

    en donde tengo una tabla con un campo llamado foto y sus propiedad es image (binario)

    la cual intento guardar la imagen en byte

    los codigos son los siguiente:

     

    en un boton llamado seleccionar y tiene el siguiente codigo:

     Dim openFile As New Microsoft.Win32.OpenFileDialog
            Dim b As New BitmapImage()

            openFile.Title = "Seleccione la Imagen a Mostrar"
            openFile.Filter = "Todos(*.*)|*.*|Imágenes|*.jpg;*.gif;*.png;*.bmp"

            Dim resultado As Nullable(Of Boolean)
            resultado = openFile.ShowDialog
            If resultado = True Then
                b.BeginInit()
                b.UriSource = New Uri(openFile.FileName)
                b.EndInit()
                Me.foto.Source = b
            End If

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnGuardar.Click
            Try
                Dim data As New tbl_KardexDeVisitasEspeciales
                data.str_ApellidosDeVisitaEspecial = txtApellidos.Text
                data.str_NombresDeVisitaEspecial = txtNombres.Text
                data.str_NumDocumentoDeVisitaEspecial = txtDNI.Text
                'data.foto=ingfoto. aqui esta el error
                DB.tbl_KardexDeVisitasEspeciales.AddObject(data)
                DB.SaveChanges()
            Catch ex As Exception
                MsgBox("NO EXISTE ELEMENTO")
            End Try
        End Sub

    por favor ayuenme, se lo agradeceria

    martes, 29 de mayo de 2018 20:34
  • Hola amigos podrian ayudarme con este codigo para poder guardar fotos en mi base de datos sql server porfavor, aqui esta mi codigos que tengo, algo me falta que no se que es:

     Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button5.Click
            Dim openFile As New Microsoft.Win32.OpenFileDialog
            Dim b As New BitmapImage()

            openFile.Title = "Seleccione la Imagen a Mostrar"
            openFile.Filter = "Todos(*.*)|*.*|Imágenes|*.jpg;*.gif;*.png;*.bmp"

            Dim resultado As Nullable(Of Boolean)
            resultado = openFile.ShowDialog
            If resultado = True Then
                b.BeginInit()
                b.UriSource = New Uri(openFile.FileName)
                b.EndInit()
                Me.ingfoto.Source = b
            End If
        End Sub

       Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnGuardar.Click
            Dim image As Byte
            Try
                Dim data As New tbl_KardexDeVisitasEspeciales
                data.str_ApellidosDeVisitaEspecial = txtApellidos.Text
                data.str_NombresDeVisitaEspecial = txtNombres.Text
                data.foto = Image(ingfoto.DataContext)
                DB.tbl_KardexDeVisitasEspeciales.AddObject(data)
                DB.SaveChanges()
            Catch ex As Exception
                MsgBox("NO EXISTE ELEMENTO")
            End Try
        End Sub

    viernes, 15 de junio de 2018 21:51