vasco16 Posted May 2, 2009 at 09:09 PM Report #260930 Posted May 2, 2009 at 09:09 PM 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'.
Soulsick Posted May 3, 2009 at 12:44 AM Report #260956 Posted May 3, 2009 at 12:44 AM 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. 😛
vasco16 Posted May 3, 2009 at 02:34 PM Author Report #261005 Posted May 3, 2009 at 02:34 PM 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 🙂
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now