GUARDAR IMAGEM NA BD SQL E CARREGA-LA NO IMAGEBOX

MIGUELSA3 10/08/2009 12:47:57
#319454

Estou a fazer um projecto aqui na empresa para gestão de contactos que os utilizadores têm para os poderem ser partilhados, só que queria inserir as fotos de cartão e foto do contacto no servidor numa bd em sql e estou com um bocado de dificuldades.
Podiam-me dizer a forma mais fácil de o fazer e darem um código exemplo para guardar na bd e carrega-las para o programa!

Desde já, obrigado
DOUTORX 10/08/2009 15:43:02
#319470
Resposta escolhida
Já ouvi boatos que é possível gravar a imagem na BD, só que é um método pesado e trabalhoso.
Então o método simples é:

Coloque as imagens em alguma pasta padrão e no BD crie um campo do tipo Varchar(255) e nesse campo você armazenará o caminho das imagens. Por exemplo:
C:ProjetoImagensimagem1.jpg

assim em diante

e para mostrar em uma Picture o Imagem é só atribuir o valor desse campo do BD para a propriedade [Ô]Picture[Ô] desses 2 objetos.
DANIKULL 10/08/2009 19:29:16
#319507
MIGUELSA3, boa noite..

Não é aconselhavel armazenar imagens no banco da dados porque isto o tarnará pesado e robusto fazendo com que uma simples pesquisar se torne um processo longo e demorado ao longo do tempo. o que você pode fazer e seguir o conselho do nosso amigo DOUTORX e usar uma pasta, e salvar no banco de dados somente o caminho da imagem que você quer. E para carrega-la basta você utilizar o comando LoadPicture ([Ô]CaminhoNome_da_imagem.formato[Ô]) na property Picture do objeto Image ou PictureBox, ok?????

Qualquer dúvida poste novamente.
MIGUELSA3 11/08/2009 06:01:45
#319535
O código que fiz foi este, sabem-me dizer pq dá erro(string or binary data would be truncated)?


With cnnComando
.ActiveConnection = cnn
.CommandType = adCmdText
[ô]falta introduzir fotos
If vInc Then
[ô]Inclusão:
.CommandText = [Ô]INSERT INTO CONTACTO (id, nome, contacto, data_nasc, morada, codpostal, email, telefone, telemovel, fax, utilizador, privado, pathcartao, pathfoto) VALUES ([ô][Ô] & txtID.Text & [Ô][ô],[ô][Ô] & txtempresa.Text & [Ô][ô],[ô][Ô] & txtnome.Text & [Ô][ô],[ô][Ô] & Format(txtdatanasc, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô],[ô][Ô] & txtmorada.Text & [Ô][ô],[ô][Ô] & txtcpostal.Text & [Ô][ô],[ô][Ô] & txtemail.Text & [Ô][ô],[ô][Ô] & txttelefone.Text & [Ô][ô],[ô][Ô] & txttelemovel.Text & [Ô][ô],[ô][Ô] & txtfax.Text & [Ô][ô],[ô][Ô] & txtUtilizador.Text & [Ô][ô], [ô][Ô] & privado & [Ô][ô], [ô][Ô] & [Ô]\servere$GestContactoscartoes[Ô] & [Ô]txtempresa.text[Ô] & [Ô].jpg[Ô] & [Ô][ô], [ô][Ô] & [Ô]\servere$GestContactosfotos[Ô] & [Ô]txtnome.text[Ô] & [Ô].jpg[Ô] & [Ô][ô]);[Ô]
Else
[ô]Alteração:
.CommandText = [Ô]UPDATE CONTACTO SET nome = [ô][Ô] & txtempresa.Text & [Ô][ô],[Ô] & [Ô] contacto = [ô][Ô] & txtcontacto.Text & [Ô][ô],[Ô] & [Ô] data_nasc = [ô][Ô] & txtdatanasc.Text & [Ô][ô],[Ô] & [Ô] morada = [ô][Ô] & txtmorada.Text & [Ô][ô],[Ô] & [Ô] codpostal = [ô][Ô] & txtcpostal.Text & [Ô][ô],[Ô] & [Ô] email = [ô][Ô] & txtemail.Text & [Ô][ô],[Ô] & [Ô] telefone = [ô][Ô] & txttelefone.Text & [Ô][ô],[Ô] & [Ô] telemovel = [ô][Ô] & txttelemovel.Text & [Ô][ô],[Ô] & [Ô] fax = [ô][Ô] & txtfax.Text & [Ô][ô],[Ô] & [Ô] utilizador = [ô][Ô] & txtUtilizador.Text & [Ô][ô],[Ô] & [Ô] privado = [ô][Ô] & privado & [Ô][ô][Ô] & [Ô] WHERE idEmpresa = [ô][Ô] & txtIDEmpresa.Text & [Ô][ô];[Ô]
End If
.Execute
End With
[ô]filecopy(destino do ficheiro incial,Destino final)
FileCopy strFoto, [Ô]\servere$GestContactosfotos[Ô] & [Ô]txtnome.text[Ô] & [Ô].jpg[Ô]
FileCopy strCartao, [Ô]\servere$GestContactoscartoes[Ô] & [Ô]txtempresa.text[Ô] & [Ô].jpg[Ô]
Tópico encerrado , respostas não são mais permitidas