borges02 0 Denunciar post Postado Março 25, 2008 Bom Dia! Estrou programando em visual studio 2005 (C#) e mysql. Estou com problemas na hora de visualizar os registros cadastrados no sistema com foto e sem foto. Tipo, quando eu tenho um registro que é com foto o aplicativo abre normal mostrando a foto, mas quando tenho registros com fotos e sem fotos, o aplicativo não abre mais nenhuma foto.. Alguem tem alguma sugestão de como fazer esse controle com o PictureBox, para quando tiver registro com foto mostrar normal e quando tiver registro sem foto, mostrar tambem da mesma forma? segue o código abaixo: public void mostraDados() { String SelQuery = "SELECT max(COD_PESSOA) FROM pessoas"; MySqlConnection conn = new MySqlConnection(connStr); MySqlCommand SelComm = new MySqlCommand(SelQuery, conn); conn.Open(); MySqlDataReader myReader; myReader = SelComm.ExecuteReader(); myReader.Read(); if (myReader.IsDBNull(0) == false) { //exibe os dados cOD_PESSOATextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["cod_pessoa"].ToString(); nOMETextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["nome"].ToString(); eNDERECOTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["endereco"].ToString(); bAIRROTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["bairro"].ToString(); cEPMaskedTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["cep"].ToString(); cIDADETextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["cidade"].ToString(); eSTADOTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["estado"].ToString(); fONEMaskedTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["fone"].ToString(); e_MAILTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["e_mail"].ToString(); fOTOPictureBox.Image = Image.FromFile(Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["foto"].ToString()); oBSRichTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["obs"].ToString(); dATA_CADMaskedTextBox.Text = Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["data_cad"].ToString(); } myReader.Close(); conn.Close(); //mostra a posição do registro lblDisplay.Text = "Registro " + (linhaAtual + 1).ToString() + " de " + Ds_agenda.Tables["pessoas"].Rows.Count.ToString(); }Desde já agradeço pela ajuda e atenção...Muito Obrigado... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 25, 2008 Mas quando não tiver a foto cadastrada você quer que seja mostrado o que na PictureBox? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
borges02 0 Denunciar post Postado Março 25, 2008 Boa Tarde quintelab! Então, quando não tiver foto cadastrada eu quero que mostre o formulário mesmo assim... Tipo o pictureBox vai ficar vazio mesmo... O meu problema é que quando tenho registro com foto tambem não aparece nada no PictureBox... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 26, 2008 O fato de não ter o campo de foto, não é motivo para não carregar os demais campos, tem certeza que o select traz os dados corretamente? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
borges02 0 Denunciar post Postado Março 26, 2008 É que eu tenho uma função com o nome de mostraDados() que está no primeiro post que mandei. Essa função é chamada logo após gravar os dados no banco de dados. Mas por exemplo: eu tenho um campo telefone, esse campo não está selecionado como not null então esse campo pode ficar nulo quando eu gravo os registros no bd. Quando vou visualizar o registro, no campo telefone mostra o campo nulo sem problemas. O meu problema está no campo foto, tipo quando estou cadastrando um funcionario, mas eu não quero incluir foto, sendo que no bd tambem não esta selecionad como not null, então quando clico no botão gravar ele grava certinho no bd mas quando entra na função mostraDados() aparece o erro no: fOTOPictureBox.Image = Image.FromFile(Ds_agenda.Tables["pessoas"].Rows[linhaAtual]["foto"].ToString()). Tipo de fosse qualquer outro campo.text iria receber nulo sem problemas. Único campo que está dando problema quando fica nulo é esse campo (fotoPictureBox.Image). Gostaria de saber algum meio ou outra forma de resolver esse problema? Desde já agradeço pela ajuda e atenção... Muito Obrigado... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 26, 2008 Faça um if antes verificando se o valor é diferente de branco, se for diferente de branco você alimenta sua picture se não, pula fora. Se não entendeu, poste de novo que ajudo com o código. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
borges02 0 Denunciar post Postado Março 27, 2008 beleza Quintelab? Valeu, pela dica, fiz o if antes do componente pictureBox receber os dados e deu certo agora. Estou conseguindo navegar entre os registros com foto e sem foto sem problemas agora... Obrigado mesmo pelas dicas e sugestões.... Muito Obrigado... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 27, 2008 Tranquilo Borges, que bom que deu certo. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites