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,