Luis Marques Posted March 4, 2009 at 12:34 PM Report #248122 Posted March 4, 2009 at 12:34 PM Boas, É assim eu queria guardar o nome da imagem na base de dados após a ter escolhido. Eu tenho o código para ir procurar a imagem ao pc e guarda la numa pasta e depois guardar o nome da imagem na base de dados. Codigo: Try Dim dialog As New OpenFileDialog With dialog .Filter = "Tipos de imagens aceites (JPEG, BMP)|*.jpg; *.bmp" .CheckFileExists = True .CheckPathExists = True .Multiselect = False .ShowDialog() End With Dim a = My.Computer.FileSystem.CurrentDirectory If dialog.FileName <> String.Empty Then Dim destino As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) & "\imagens\" destino = destino.Substring(6) If My.Computer.FileSystem.DirectoryExists(destino) = False Then My.Computer.FileSystem.CreateDirectory(destino) End If destino = destino & dialog.SafeFileName 'MsgBox(dialog.FileName) 'MsgBox(destino) IO.File.Copy(dialog.FileName, destino) TextBox3.Text = dialog.SafeFileName End If My.Computer.FileSystem. = a dialog.Dispose() Dim lm As String = "INSERT INTO `imagem_encomenda` (`imagem`) VALUES (?)" MsgBox(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) 'Inicia uma ligação à base de dados Using connection As New OleDbConnection(pap.My.Settings.ligacaoBD) 'Define o comando e os parâmetros Dim command As New OleDbCommand(lm, connection) 'pergunta se quer guardar ou nao Dim msg = MsgBox("Pretende guardar o registo? ", MsgBoxStyle.YesNo) If msg = MsgBoxResult.Yes Then command.Parameters.Add("imagem", OleDbType.VarChar).Value = TextBox3.Text ElseIf msg = MsgBoxResult.No Then TextBox3.Clear() End If ' Abre a ligação e insere o registo connection.Open() Dim x As Integer = command.ExecuteNonQuery() If x <> 1 Then Throw New ArgumentException("Não foi possível inserir o registo na base de dados!") End If End Using Catch ex As Exception MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error) End Try e o erro é: http://img23.imageshack.us/img23/2679/13435776.jpg Se eu for buscar uma imagem ao ficheiros recebidos aparece isso no erro, se for buscar ao ambiente de trabalho já aparece ambiente de trabalho no erro,etc Se alguem souber do que será o erro, diga me qualquer coisa LM
José Lopes Posted March 4, 2009 at 01:58 PM Report #248127 Posted March 4, 2009 at 01:58 PM cá para mim..não estás a apanhar o caminho da imagem correctamente... tanto que ele diz que o ficheiro nao existe Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!
Pwyll Posted March 4, 2009 at 02:00 PM Report #248129 Posted March 4, 2009 at 02:00 PM Le la a mensagem de erro como deve de ser..... Nao estas a indicar o path correcto da base de dados, nao tem nada a ver com a imagem.
Luis Marques Posted March 4, 2009 at 06:27 PM Author Report #248181 Posted March 4, 2009 at 06:27 PM Já mudei bues cenas e nada, nao sei o que mudar:S LM
Soulsick Posted March 4, 2009 at 06:36 PM Report #248185 Posted March 4, 2009 at 06:36 PM já verificas-te se a connection string (ve nos settings) está bem feita?
esquima Posted March 4, 2009 at 08:07 PM Report #248211 Posted March 4, 2009 at 08:07 PM Dim lm As String = "INSERT INTO `imagem_encomenda` (`imagem`) VALUES (?)" values(?) isto tb n sei se esta correcto ..como e que ele sabe que o ? é o caminho da imagem
Luis Marques Posted March 4, 2009 at 08:30 PM Author Report #248222 Posted March 4, 2009 at 08:30 PM isso funciona porque tem mais a baixo os parâmetros, o código que eu utilizo para guardar é igual a este e até agora ainda não deu problema, até porque neste caso se eu em vez de ir la procurar uma imagem e o nome da mesma ficar na textbox, colocar la um nome qualquer, o programa vai guardar o nome que la escrevi na BD. LM
Hellblazer Posted March 5, 2009 at 10:16 AM Report #248332 Posted March 5, 2009 at 10:16 AM isso funciona porque tem mais a baixo os parâmetros, o código que eu utilizo para guardar é igual a este e até agora ainda não deu problema, até porque neste caso se eu em vez de ir la procurar uma imagem e o nome da mesma ficar na textbox, colocar la um nome qualquer, o programa vai guardar o nome que la escrevi na BD. Errado o que tu queres é: ... codigo ... Dim lm As String = "INSERT INTO `imagem_encomenda` (`imagem`) VALUES (@imagem)" MsgBox(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) 'Inicia uma ligação à base de dados Using connection As New OleDbConnection(pap.My.Settings.ligacaoBD) 'Define o comando e os parâmetros Dim command As New OleDbCommand(lm, connection) 'pergunta se quer guardar ou nao Dim msg = MsgBox("Pretende guardar o registo? ", MsgBoxStyle.YesNo) If msg = MsgBoxResult.Yes Then command.Parameters.Add("@imagem", OleDbType.VarChar).Value = TextBox3.Text ... codigo ... There are two ways to write error-free programs; only the third one works.
José Lopes Posted March 5, 2009 at 10:23 AM Report #248335 Posted March 5, 2009 at 10:23 AM errado..o problema estava mesmo na connectionstring... que estava mal definida... ele devia ter colocado aqui..... Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!
Hellblazer Posted March 5, 2009 at 10:30 AM Report #248338 Posted March 5, 2009 at 10:30 AM Segundo o erro que reportas-te ele nao estava a encontrar a base de dados dando então erro. peço-te então que verifiques se estou correcto ou não... verificando se ele guarda correctamente a imagem 😁 There are two ways to write error-free programs; only the third one works.
José Lopes Posted March 5, 2009 at 10:41 AM Report #248341 Posted March 5, 2009 at 10:41 AM de facto ele enviou-me o projecto e ficou a funcionar com o código que ele tinha, logo que mudei a connection string... nao quer dizer que o teu código esteja errado..mas o dele também estava a gravar correctamente Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!
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