SALVAR IMAGEM COM SQL
Olá a todos
Eu usou SQL em todo o meu sistema, por exemplo, para inclusão de registros eu uso INSERT INTO Tabela (Campo1, Campo2,...) VALUES (Valor1, Valor2,...), porém me surgiu uma dúvida.
Preciso salvar no banco de dados uma imagem, o tipo de campo eu já sei, mas eu não sei como fazer para colocar dentro da instrução SQL a imagem que está no objeto Image. Como fazer?
Rodrigo
Eu usou SQL em todo o meu sistema, por exemplo, para inclusão de registros eu uso INSERT INTO Tabela (Campo1, Campo2,...) VALUES (Valor1, Valor2,...), porém me surgiu uma dúvida.
Preciso salvar no banco de dados uma imagem, o tipo de campo eu já sei, mas eu não sei como fazer para colocar dentro da instrução SQL a imagem que está no objeto Image. Como fazer?
Rodrigo
boa noite amigo.
pode lhe dar uma dica. nao grave imagem no banco, faca o seguinte grave o caminho do arquivo no banco apenas. pois o risco de perder as imagens é alto.
se fizer por caminho isto nao ocorre. segue um exemplo.
na funcao click do comando
Dim Prop As String
On Error Resume Next
[ô] aqui você define o titulo do seu common dialog control
dlgImagem.DialogTitle = [Ô]Definir Caminho das Fotos[Ô]
[ô] InitDir = o diretório que será aberto ao se abrir o common dialog control
dlgImagem.InitDir = [Ô]C:[Ô]
[ô] FileName determina que a busca seja por todos o arquivos JPG e Bmp
dlgImagem.FileName = [Ô][Ô]
[ô] Filter = filtra somente arquivos PDF
Prop = [Ô]Arqs. pdf(*.pdf) [Ô]
dlgImagem.Filter = Prop
dlgImagem.FilterIndex = 1 [ô] indica a primeira opção
[ô] e agora sim abrir o common dialog
dlgImagem.ShowOpen
[ô] ao se clicar em OK o caminho será salvo no textbox
txtcaminho.Text = dlgImagem.FileName
e para visualizar o arquivo aqui abaixo
coloque outro botao comando e cole dentro
Dim Capta As Currency
Dim DizondeEstaondeEsta As String
Dim CaminhoEstendido As String
Dim dizondeesta As String
Dim sucesso As Integer
[ô]Rotina no botão Visualizar
CaminhoEstendido = txtcaminho.Text
ShellExecute Me.hWnd, [Ô]Open[Ô], CaminhoEstendido, vbNullString, [Ô]C:\Documents and Settings\ERIVELTON\Desktop\DOCUMENTOS\imagens\[Ô], 1
End Sub
bem, eu espero ter ajudado.
pode lhe dar uma dica. nao grave imagem no banco, faca o seguinte grave o caminho do arquivo no banco apenas. pois o risco de perder as imagens é alto.
se fizer por caminho isto nao ocorre. segue um exemplo.
na funcao click do comando
Dim Prop As String
On Error Resume Next
[ô] aqui você define o titulo do seu common dialog control
dlgImagem.DialogTitle = [Ô]Definir Caminho das Fotos[Ô]
[ô] InitDir = o diretório que será aberto ao se abrir o common dialog control
dlgImagem.InitDir = [Ô]C:[Ô]
[ô] FileName determina que a busca seja por todos o arquivos JPG e Bmp
dlgImagem.FileName = [Ô][Ô]
[ô] Filter = filtra somente arquivos PDF
Prop = [Ô]Arqs. pdf(*.pdf) [Ô]
dlgImagem.Filter = Prop
dlgImagem.FilterIndex = 1 [ô] indica a primeira opção
[ô] e agora sim abrir o common dialog
dlgImagem.ShowOpen
[ô] ao se clicar em OK o caminho será salvo no textbox
txtcaminho.Text = dlgImagem.FileName
e para visualizar o arquivo aqui abaixo
coloque outro botao comando e cole dentro
Dim Capta As Currency
Dim DizondeEstaondeEsta As String
Dim CaminhoEstendido As String
Dim dizondeesta As String
Dim sucesso As Integer
[ô]Rotina no botão Visualizar
CaminhoEstendido = txtcaminho.Text
ShellExecute Me.hWnd, [Ô]Open[Ô], CaminhoEstendido, vbNullString, [Ô]C:\Documents and Settings\ERIVELTON\Desktop\DOCUMENTOS\imagens\[Ô], 1
End Sub
bem, eu espero ter ajudado.
Olá ERIVELTONVGA
EU já faço isso, quase da mesma forma, porém nesse caso especÃfico eu preciso salvar dentro do banco de dados, pois o banco não está mais em minha rede e sim hospedado em um servidor remoto, onde eu acesso o banco de dados SQL via IP, e sendo assim, não consigo rastrear onde aquela imagem está salva, já que eu não estou na mesma rede local para especificar onde pegar a imagem salva pelo caminho.
EU já faço isso, quase da mesma forma, porém nesse caso especÃfico eu preciso salvar dentro do banco de dados, pois o banco não está mais em minha rede e sim hospedado em um servidor remoto, onde eu acesso o banco de dados SQL via IP, e sendo assim, não consigo rastrear onde aquela imagem está salva, já que eu não estou na mesma rede local para especificar onde pegar a imagem salva pelo caminho.
boa noite REDEOLIVEIRA
nesse caso de uma olhado neste link do macorati
http://www.macoratti.net/vb5_isql.htm.
espero que seja isto que voce precise e espero ter ajudado tambem.
nesse caso de uma olhado neste link do macorati
http://www.macoratti.net/vb5_isql.htm.
espero que seja isto que voce precise e espero ter ajudado tambem.
Boa Tarde RODEOLIVEIRA
Eu tambem precisei gravar imagens no meu banco e fiz dessa forma.
Usei um Common Dialog, para acessar os diretorios onde as imagens se encontram
CD1 = CommonDialog
CmdAdd = Botao onde clico para abrir o CommonDialog
Private Sub CmdAdd_Click()
Dim str_Imagem As String
Dim sFilter As String
LblNomeImagem.Caption = [Ô][Ô]
cd1.DialogTitle = [Ô]Selecione A Imagem[Ô]
cd1.Filter = [Ô]Arquivos JPEG|*.jpg|Arquivos GIF|*.gif|Arquivos BMP|*.bmp|Todos os Arquivos|*.*[Ô]
cd1.Action = 1
If cd1.Filename <> [Ô][Ô] Then
If rs.State = 1 Then
rs.Close
End If
str_Imagem = ParseFileName(cd1.Filename)
rs.Open [Ô]Select * from REL_IMAGEM [Ô], envSISCNTR.cntSISCNTR, adOpenKeyset, adLockOptimistic
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile str_Imagem
rs.AddNew
rs.Fields([Ô]IMG_IMAGEM[Ô]).Value = mstream.Read
rs!IMG_NOME = str_Imagem
rs!PROC_ID = str_IdProc
LblNomeImagem.Caption = str_Imagem
rs.Update
mstream.Close
Picture1.Picture = LoadPicture(cd1.Filename)
Img.Picture = LoadPicture(cd1.Filename)
End If
End Sub
As imagens sao gravadas em formato binario para le-las voce deve [Ô]converte-las[Ô] novamente.
Eu encontrei essa rotina na internet vou verificar se ainda a tenho.
Acho que tenho uma para Access e outra para SQL Server.
Um Abraço
Eu tambem precisei gravar imagens no meu banco e fiz dessa forma.
Usei um Common Dialog, para acessar os diretorios onde as imagens se encontram
CD1 = CommonDialog
CmdAdd = Botao onde clico para abrir o CommonDialog
Private Sub CmdAdd_Click()
Dim str_Imagem As String
Dim sFilter As String
LblNomeImagem.Caption = [Ô][Ô]
cd1.DialogTitle = [Ô]Selecione A Imagem[Ô]
cd1.Filter = [Ô]Arquivos JPEG|*.jpg|Arquivos GIF|*.gif|Arquivos BMP|*.bmp|Todos os Arquivos|*.*[Ô]
cd1.Action = 1
If cd1.Filename <> [Ô][Ô] Then
If rs.State = 1 Then
rs.Close
End If
str_Imagem = ParseFileName(cd1.Filename)
rs.Open [Ô]Select * from REL_IMAGEM [Ô], envSISCNTR.cntSISCNTR, adOpenKeyset, adLockOptimistic
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile str_Imagem
rs.AddNew
rs.Fields([Ô]IMG_IMAGEM[Ô]).Value = mstream.Read
rs!IMG_NOME = str_Imagem
rs!PROC_ID = str_IdProc
LblNomeImagem.Caption = str_Imagem
rs.Update
mstream.Close
Picture1.Picture = LoadPicture(cd1.Filename)
Img.Picture = LoadPicture(cd1.Filename)
End If
End Sub
As imagens sao gravadas em formato binario para le-las voce deve [Ô]converte-las[Ô] novamente.
Eu encontrei essa rotina na internet vou verificar se ainda a tenho.
Acho que tenho uma para Access e outra para SQL Server.
Um Abraço
Tópico encerrado , respostas não são mais permitidas