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

pmaster

Obejto ole

11 mensagens neste tópico

Boa noite a todos..

No accesse usa-se objecto ole para por uma imagem na base de dados por exemplo. Mas como é no Mysql?

Eu estive a ver e nao encontrei nada..

Se alguem me pode-se ajudar agradecia.

Obrigado :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

BLOB eu já tentei mas ele só mostra codigo em binario.

O erro pode ser meu, mas eu para inserir a imagem tenho de por o caminho nao é?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depende. Podes armazenar o URL da imagem na tua máquina e depois abrir, mas para isso não precisas de BLOBs, ou podes armazenar mesmo o conteúdo binário do ficheiro num campo do tipo BLOB e depois mostras através de uma linguagem qualquer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa mas nao entendi bem.. entao como é que fasso para gravar na BD a imagem ?

Obrigado :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como assim?

sou nabiça.. inserir normalmente com um insert mas inserir a imagem mesmo

Obrigado Baderous :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se quiseres inserir o URL da imagem, basta um campo de texto, guardas o path da imagem numa variável e depois fazer INSERT dessa variável na tabela. Se for armazenar a imagem, tens de usar um campo do tipo BLOB (MEDIUMBLOB ou outro com limite máximo superior), seleccionar a imagem através do seu path e depois utilizar uma linguagem para carregar o conteúdo do ficheiro para a tabela. Provavelmente terás alguns problemas com imagens com tamanho superior a 1MB devido ao max_allowed_packet do MySQL, que tem valor de 1MB. Se quiseres, podes alterá-lo no ficheiro my.cnf. Ou então podes optar por blob streaming, isto é, vais lendo porções do ficheiro aos poucos e vais armazenando na tabela.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estive a testar e o problema está na leitura da imagem que eu estou a fazer no vb.

O compo está como MEDIUMBLOB e tem 5 kb

Codigo que uso para a leitura no mysql:

insert into testando values ('G:\PAP\logo1.jpg');

Codigo que uso para a leitura no mysql:

'sql1 = "SELECT logo FROM testando;"

        'dataAdapter1.SelectCommand.CommandText = sql1
        'dataset1.Clear()
        'connection1.Open()
        'dataAdapter1.Fill(dataset1, "testando")
        'connection1.Close()
        'PictureBox2.Image = dataset1.Tables("testando").Rows.Item(0).Item(0)

o vb dá p seguinte erro: Não é possível associar o objecto de tipo 'System.Byte[]' ao tipo 'System.Drawing.Image'.

Não se se posso chamar desta maneira..

Muito Obrigado pela atenção Baderous agora sei qual a fonte do problema :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Baderous

Já deu uma vista de olhas geral e de facto é bastante util! Vou ver agora com mais atenção a ver se encontro a solução para o meu problema.

Muito Obrigado pela atenção :)

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