Jump to content

Recommended Posts

Posted

Boas pessoal para adicionar um imagem a um registo tenho este codigo:

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.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
            MsgBox("Escolha uma foto.", MsgBoxStyle.Critical, "Erro")
            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")


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

só que quando abre a janela para localizar a foto e quando eu carrego em cancelar ele dá erro neste linha:

arqImg = New FileStream(TextBox1.Text, FileMode.Open, FileAccess.Read, FileShare.Read

mais propriamente este erro:

Não foi possível localizar o ficheiro 'C:\Documents and Settings\vasco\Ambiente de trabalho\PROJECTO\Stand\Stand\bin\Debug\nome'.

Posted

Boas,

penso que uma possível solução seria antes de mostrares a dialog, definires a propriedade filename como nada. Assim mesmo que o utilizador feche a dialog, o length vai dar sempre 0.  😛

Posted

Boas,

penso que uma possível solução seria antes de mostrares a dialog, definires a propriedade filename como nada. Assim mesmo que o utilizador feche a dialog, o length vai dar sempre 0. 😉

sim resultou 🙂   so espero que nao venha a ter problemas com este metodo xD

obrigado 🙂

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.