Array
(
)

Problema na hora de setar os valores no Formulario....

Raniel Nogueira
   - 06 fev 2014

Bem, eu tenho um cadastro de pessoa física e jurídica quando eu der dois cliques na linha selecionada do DataGridView ele seta os valores identificando se a pessoa é jurídica ou física, mais infelizmente ele esta jogando todas a informações no Form pessoa Juridica.

//Método preenche pessoa FÍSICA e JURÍDICA
#Código

private void preencheDados(Cliente cli)
        {
                txtNome.Text = cli.NOME;
                txtEndereco.Text = cli.ENDERECO;
                cbUF.Text = cli.UF;
                txtCidade.Text = cli.CIDADE;
                txtBairro.Text = cli.BAIRRO;
                txtCep.Text = cli.CEP;
                txtCPF.Text = cli.CPF;
                txtProfissao.Text = cli.PROFISSAO;
                cbRestricoes.Text = cli.RESTRICOES;
                txtEmail.Text = cli.EMAIL;
                txtTelefone.Text = cli.TELEFONE;
                txtCelular.Text = cli.CELULAR;
                txtFax.Text = cli.FAX;
        }

        private void preencheDadosEmpresa(Cliente cliente)
        {
            txtNomeFantasia.Text = cliente.NOME_FANTASIA;
            txtEndJ.Text = cliente.ENDERECO;
            cbUFJ.Text = cliente.UF;
            txtCidadeJ.Text = cliente.CIDADE;
            txtBairroJ.Text = cliente.BAIRRO;
            txtCEPJ.Text = cliente.CEP;
            txtCNPJ.Text = cliente.CNPJ;
            txtRazaoSocial.Text = cliente.RAZAO_SOCIAL;
            Inscri.Text = cliente.ESTADUAL;
            cbRestricoesJ.Text = cliente.RESTRICOES;
            txtEmailJ.Text = cliente.EMAIL;
            txtTelefoneJ.Text = cliente.TELEFONE;
            txtCelularJ.Text = cliente.CELULAR;
            txtFaxJ.Text = cliente.FAX;       
        }

Codigo do meu duplo clique na celula:
#Código
private void dgvClientes_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int codigo = Convert.ToInt32(dgvCliente.Rows[e.RowIndex].Cells[0].Value);
            
            try
            {
                Cliente cliente = new Cliente();
                string Analisa = cliente.TIPO;

                if (Analisa == "Pessoa Juridica")
                {
                    cliente = clsBanco.ProcuraDadosCliente(codigo);
                    txtCodPessoaJuridica.Text = Convert.ToString(codigo);
                    validaCampos valida = new validaCampos();

                    valida.validaBotaoEditar(txtCodCliente.Text, btnSalvar, btnEditar, btnExcluir, btnNovoCliente, btnCancelar);
                    preencheDadosEmpresa(cliente);
                }
                else
                {
                    Cliente cli = new Cliente();
                    cli = clsBanco.ProcuraDadosCliente(codigo);
                    txtCodCliente.Text = Convert.ToString(codigo);
                    validaCampos valida = new validaCampos();

                    valida.validaBotaoEditar(txtCodCliente.Text, btnSalvar, btnEditar, btnExcluir, btnNovoCliente, btnCancelar);
                    preencheDados(cli);
                }
               
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
            }
            
        }

metodo Buscar Clientes :
#Código
public static Cliente ProcuraDadosCliente(int id)
        {
            Cliente cliente = new Cliente();
            using (MySqlConnection conexaoMySQL = clsBanco.getInstancia().getConexao())
            {
                try
                {
                    string Tipo = "Pessoa Fisica";
                    string mSQL = "SELECT * FROM PESSOA WHERE TIPO=@Tipo AND ID="+cliente.ID;
                    MySqlCommand cmd = new MySqlCommand(mSQL, conexaoMySQL);
                    cmd.Parameters.AddWithValue("@Tipo", Tipo);
                    conexaoMySQL.Open();

                    int i = Convert.ToInt16(cmd.ExecuteScalar());

                    if (i > 0)
                    {
                        try
                        {

                            string _mSQL = "SELECT * FROM PESSOA WHERE TIPO=@Tipo AND ID=" + cliente.ID;
                            MySqlCommand _cmd = new MySqlCommand(_mSQL, conexaoMySQL);
                            MySqlDataReader dr = _cmd.ExecuteReader();
                            while (dr.Read())
                            {
                                cliente.ID = Convert.ToInt32(dr[0]);
                                cliente.TIPO = dr[1].ToString();
                                cliente.NOME = dr[2].ToString();
                                cliente.ENDERECO = dr[4].ToString();
                                cliente.UF = dr[5].ToString();
                                cliente.CIDADE = dr[6].ToString();
                                cliente.BAIRRO = dr[7].ToString();
                                cliente.CEP = dr[8].ToString();
                                cliente.CPF = dr[9].ToString();
                                cliente.RG = dr[10].ToString();
                                cliente.PROFISSAO = dr[13].ToString();
                                cliente.RESTRICOES = dr[14].ToString();
                                cliente.EMAIL = dr[15].ToString();
                                cliente.TELEFONE = dr[16].ToString();
                                cliente.CELULAR = dr[17].ToString();
                                cliente.FAX = dr[18].ToString();
                            }
                        }
                            
                        catch (MySqlException MyErro)
                        {
                            throw MyErro;
                        }
                        finally
                        {
                            conexaoMySQL.Close();
                        }
                        
                    } 

                    /*Verifica se é for pessoa juridica*/
                    else
                    {
                        try
                        {
                            string _mSQL = "Select * from PESSOA Where ID = " + id;
                            MySqlCommand _cmd = new MySqlCommand(_mSQL, conexaoMySQL);
                            MySqlDataReader dr = _cmd.ExecuteReader();
                            while (dr.Read())
                            {
                                cliente.ID = Convert.ToInt32(dr[0]);
                                cliente.TIPO = dr[1].ToString();
                                cliente.NOME_FANTASIA = dr[3].ToString();                                
                                cliente.ENDERECO = dr[4].ToString();
                                cliente.UF = dr[5].ToString();
                                cliente.CIDADE = dr[6].ToString();
                                cliente.BAIRRO = dr[7].ToString();
                                cliente.CEP = dr[8].ToString();
                                cliente.RAZAO_SOCIAL = dr[11].ToString();
                                cliente.RESTRICOES = dr[14].ToString();
                                cliente.EMAIL = dr[15].ToString();
                                cliente.TELEFONE = dr[16].ToString();
                                cliente.CELULAR = dr[17].ToString();
                                cliente.FAX = dr[18].ToString();
                            }
                        }

                        catch (MySqlException MyErro)
                        {
                            throw MyErro;
                        }
                        finally
                        {
                            conexaoMySQL.Close();
                        }
                    }
                    /*Fim do metodo*/
                }
                catch (MySqlException ex)
                {
                    throw ex;
                }
                finally
                {
                    conexaoMySQL.Close();
                }
               
            } return cliente;
           
        }

Chiodini
   - 07 fev 2014

Bom dia amigo.

Primeiramente Depura ele,
e ve em que metodo ele esta entrando

PreencheDAdos
ou
PreencheDAdos pessoa

Podes verificar tambem,
a tua variavel Analise
ve o que vem nela.

e cola ai,

at1t,