Salvar Imagem em BD

Olá Pessoal.
Bom o que eu to querendo que alguem me ajude é o seguinte:
Quero que no meu banco tenha uma imagem, ou gravado o caminho dela enfim, so sei que quando mandar executar a minha aplicação a imagem ja aprecça num JLabel ok?
Pq o que eu quero fazer eh tipo uma tela de login em uma aplicação desktop ok?No caso a imagem seria meu banner ok?
Eu sei que ja teve topico relacionado a esse assunto, mas as ajudas que tem lá não são muito favoraveis ao que eu quero !
Será que alguem tem uma ideia?
Meu problema maio é o código java, o método que grave essa imagem em um BD ok?
Obrigada quem puder me ajudar!

Pra gravar a imagem existe os campos BLOB(não tenho a minima como usar)
ou você deixa um atributo String como patch no objeto e grava no banco o diretorio da imagem

Faz assim:

1- Deixe a imagem que você deseja que apareça na pasta do seu projeto;

2- Crie um label com as dimensões do seu banner na interface que tu quiser que ela apareça;

3- Apague o texto desta label e entre nas propriedades da mesma;

4- No campo icon, dentro das propriedades da label, clique no caminho como classpath e então procure a imagem;

5- Dai é só dar uns oks e ela vai estar la.

Obs.: Como a imagem ja vai estar no classpath do seu projeto ela irá aparecer sempre que você iniciar o seu programa.

Vlws??? qlqr dúvida manda mensagem privada ou posta aqui… espero ter ajudado. :wink:

Bem, se vc quer gravar no banco e recuperar depois vc pode fazer assim:

[code]
// cria o input stream com o arquivo especificado
FileInputStream fi = new FileInputStream( new File( “caminhoDoSeuArquivo” );

// cria um array de bytes para guardar os dados do arquivo
byte[] array = new byte[ fi.available() ];

// le dos dados do stream no array
fi.read( array );

// com os dados carregados vc grava no banco em um campo blob
// não lembro se set bytes funciona…
seuStatement.setBytes( 1, array );

// executa o statement p inserir/alterar[/code]

Ai para criar a imagem é só fazer o processo inverso, construindo o arquivo/imagem a partir de um array de bytes.
seuStatement.execute();

Se der tempo depois eu faço um exemplo completo… Eu não testei esse código, mas o caminho é esse.

Até mais!

Bom essa do label , eu ja sei ,quero fazer o mesmo usando o banco ok?
Bom eu vou dar uma testada no codigo, vamos ber no que vai da!
Mas eu to com problema agora na minha sql, como é a sintaxe de um campo blob??Tipo quando é VARCHAR a gente coloca assim ‘java’ ok? E num campo blob?
Obrigada a todos que me ajudaram!
Ate

[code]
PreparedStatement stmt = suaConexao.prepareStatement(
"INSERT INTO SUA_TABELA(NOME_CAMPO_1, NOME_CAMPO2, NOME_CAMPO_BLOB) " +
"VALUES( ?, ?, ? ) "
);

// supondo campo1, campo2 como varchar e campo_blob como um blob
stmt.setString( 1, “teste1” );
stmt.setString( 2, “teste2” );
stmt.setBytes( 3, array );

stmt.execute();[/code]