Problema C# captar Image atraves BD

khador

Power Member
Boa tarde, estou a desenvolver um programa de final de curso em C#, e quero que ao carregar no cliente capte a sua fotografia, consigo captar todos os dados menos a imagem que me dá erro

código:

private void lbClientes_SelectedIndexChanged(object sender, EventArgs e)
{
//Captar os dados no evento quando a linha estiver selecionada
DataRowView rwselecionada = (DataRowView)lbClientes.SelectedItem;
txtNomeClientes.Text = rwselecionada.Row["Nome"].ToString();
txtIdade.Text = rwselecionada.Row["Idade"].ToString();
txtMorada.Text = rwselecionada.Row["Morada"].ToString();
txtTelefone.Text = rwselecionada.Row["Telefone"].ToString();
txtContribuinte.Text = rwselecionada.Row["Contribuinte"].ToString();
//picImagem.Image = rwselecionada.Row["Fotografia"].ToString(); //ESTA A LINHA DE ERRO dá erro apartir do rwselecionada.Row....


}
 
n podes converter um imagem para string.
O que ele não pode fazer é converter uma string para uma imagem que é o k ele está a fazer.

Não sei qual é o tipo de dados ou o que é guardado na base de dados.
Mas se na base de dados for guardado o caminho para imagem então o que ele tem k fazer é fazer load do ficheiro a partir de streams.
Acho que existe uma método da classe Image que constroi uma imagem dado um tal caminho.
 
O que eu pretendo é que a Imagem esteja associada a um determinado cliente, o meu projeto e sobre um gabinete de estética e ao visualizar os perfis dos clientes aparece os seus respetivos dados e a sua imagem, na BD o campo está como image, e o que eu quero e enquanto vou navegando nos clientes vai mostrando a fotografia de cada um
 
Terás de fazer um ciclo for, provavelmente, para que à medida que navegas nos clientes, a imagem também mude.
Poderás esclarecer isso com o prof. Juvenal ou aguardas pelo telefonema da TMN.

Boa sorte.
 
Então o que tu tens que saber que o formato de qualquer ficheiro de imagem é um conjunto de bytes. Tens que obter o conteúdo da base de dados ou para um byte[] se isso for permitido se não é permitido tens que or num Object[] isto pelo menos é teóricamente. E agora terias que interpretar o conteudo dos arrays e descoificar numa imagem. Agora se é possível fazer algo como picImagem.Image = (Image)rwselecionada.Row["Fotografia"]; isso eu não sei. Experimenta, se não der espera que mais alguém responda
 
Última edição:
Bem esquice-me de fazer uma pergunta fundamental,a tua listbox tem a coluna Fotografia, certo? Se sim o que aparece lá?é que se não tens isso há-de dar um nullpointerexception...
 
Última edição:
Back
Topo