• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Cirilo7

Guardar fotos em access

3 mensagens neste tópico

olá a todos. necessito da vossa ajuda.

Quero guardar fotos numa bd em access. Ja ouvi dizer que se guardar mesmo lá as fotos que fica muito pesada a bd, k o melhor era msm guardar o caminho. Ja andei a ver alguns exemplos na net, mas nao entendo nada daquilo. SOU UM NABO EM VB.

Estou a utilizar o vb 2005 e o oledbconn, será possivel dizerem-me como guardar o caminho da foto para que esta possa ser carregada e ser guardada juntamente com outros dados inseridos em textbox??

ja agora como é que faço tambem para as fotos serem vistas juntamente com os dados guardados?

Obrigado pela vossa colaboração!

Boas programações!!!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta assim:

 Dim arqImg As FileStream
        Dim rImg As StreamReader
        Dim strcon As String
        Dim sql As String

        OpenFileDialog1.Multiselect = False
        OpenFileDialog1.Filter = "Jpeg|*.jpg|Gif|*.gif|Jpeg|*.jpeg|Bitmap|*.bmp"
        OpenFileDialog1.RestoreDirectory = True
        OpenFileDialog1.Title = "Escolha uma imagem"

        'Abrir imagem
        OpenFileDialog1.FileName = Nothing
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName

        If Len(TextBox1.Text) <> 0 Then
            arqImg = New FileStream(TextBox1.Text, FileMode.Open, FileAccess.Read, FileShare.Read)
            rImg = New StreamReader(arqImg)
        Else
            Exit Sub
        End If

        strcon = (Stand.My.Settings.ligacaoBD)
        sql = "UPDATE compras SET [FOTO]=@foto WHERE ID_COMPRA = " & idcompraText.Text & ""

        Dim conexao As New OleDbConnection(strcon)
        Dim comando As New OleDbCommand(sql, conexao)
        Try

            'declaramos um vetor de bytes para armazenar o conteúdo da imagem a ser salva
            Dim arqByteArray(arqImg.Length - 1) As Byte
            arqImg.Read(arqByteArray, 0, arqImg.Length)


            'inclui os parâmetros
            comando.Parameters.Add("@FOTO", OleDbType.Binary, arqImg.Length).Value = arqByteArray

            'abre a conexao , executa o comando e fecha a conexao
            conexao.Open()
            comando.ExecuteNonQuery()
            conexao.Close()

            MsgBox("Imagem inserida.", MsgBoxStyle.Information, "OK")
            'Pergunta se quer Inserir um registo
            Dim msg = MsgBox("Deseja voltar ao menu compras? ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Stand")
            If msg = MsgBoxResult.Yes Then
                Dim frmOpen As Form = My.Application.OpenForms("compras")
                If frmOpen IsNot Nothing Then
                    frmOpen.Dispose()
                End If
                Dim frm As New compras
                frm.Name = "compras"
                frm.MdiParent = Form1
                frm.Show()
            Else
                PictureBox1.BackColor = Color.AliceBlue
                Exit Sub
            End If

        Catch ex As Exception
            MsgBox(ex.ToString, MsgBoxStyle.Critical, "Erro")
        End Try

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu ja utilizo o código para carregar a foto!

so me falta é mesmo guardar o caminho.

o codigo para carregar é este:

try

            If dlgOpen.ShowDialog = Windows.Forms.DialogResult.OK Then

                foto.Image = Image.FromFile(dlgOpen.FileName)

                campo.Text = dlgOpen.FileName

end try

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora