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

vasco16

Como escolher a opção cancelar

3 mensagens neste tópico

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'.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :)

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