Rotina para verificar a existência de dados.

30/08/2012

0

Boa noite pessoal.

Vê se vocês podem me ajudar.
Nessa rotina estou verificando se o textbox--> txtFilialOrigem.Text = " " --> está funcionando. OK
Caso não seja espaço a próxima rotina verifica se os dados são válidos. --> está funcionando. OK.
em seguida ele vai ao banco e verifica se o txtFilialOrigem.Text --> Se não Existe ele retorna o dgvfiliais vazio e dá a mensagem: MessageBox.Show("Não Existe Registros na Tabela de Filiais Com o Código Digitado!"); --> está funcionando OK.

Porém, se o código existe no Banco, o programa parece entrar em loop. Passa mais ou menos 1 minuto e sai do sistema.
Alguém, pode verificar se eu estou fazendo algo errado, por favor?

Obrigado.
Garibaldo






private void txtFilialOrigem_Leave(object sender, EventArgs e)
{
if (txtFilialOrigem.Text == " ")
{
if (MessageBox.Show("Confirma a Saída com o Campo Filial Origem Vazio ?", "Atenção", essageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
txtNomeFilialOrigem.Text = " ";
return;
}
}
else
try
{
string cNova = "";
string cA = "";
for (int t = 0; t <= txtFilialOrigem.TextLength - 1; t++)
{
cA = txtFilialOrigem.Text.Substring(t, 1);
if (!(cA != "0" && cA != "1" && cA != "2" && cA != "3" && cA != "4" && cA != "5" && cA != "6" &&
cA != "7" && cA != "8" && cA != "9" && cA != " "))
{
cNova = cNova + cA;
}
else
{
MessageBox.Show("Valor Digitado no Campo Filial Origem é Inválido!");
t = txtFilialOrigem.TextLength - 1;
txtFilialOrigem.Focus();
return;
}
}
txtFilialOrigem.Text = cNova;
int nCodFilial = Convert.ToInt32(txtFilialOrigem.Text);
FiliaisBLL obj = new FiliaisBLL();
dgvFiliais.DataSource = obj.PesquisaCodFilial(nCodFilial);

if (String.IsNullOrEmpty((string)dgvFiliais.Rows[0].Cells[0].Value))
{
MessageBox.Show("Não Existe Registros na Tabela de Filiais Com o Código Digitado!");
txtFilialOrigem.Focus();
}
else
{
txtNomeFilialOrigem.Text = obj.PesquisaCodFilial(nCodFilial).Rows[vContador]["Nome_Filial"].ToString();
}

}
catch (SqlException ex)
{
MessageBox.Show(String.Format("Não Existe Filial Origem Com Esse Código ! ", ex.Message));
txtFilialOrigem.Focus();
}
}
Garibaldo Chaves

Garibaldo Chaves

Responder

Posts

30/08/2012

Joel Rodrigues

Verifique se a linha abaixo chega a ser executada:
txtNomeFilialOrigem.Text = obj.PesquisaCodFilial(nCodFilial).Rows[vContador]["Nome_Filial"].ToString()

Se for, poste o código desse método PesquisaCodFilial.
Responder

30/08/2012

Garibaldo Chaves

Boa tarde Joel,

Se eu fizer dessa maneira, funciona. Mostra os dados da Filial sem nenhum problema, porém, se eu digitar um Cnpj que não exista no BD o sistema também entra em loop.
Então criei uma rotina para verificar se o meu retorno do BD, ou seja, meu dgvFiliais está em branco. Nesse momento se eu digitar um Cnpj que não exista, o sistema me retorna a mensagem dizendo que não encontrou o Cnpj digitado. É isso que eu quero, porém, depois que eu criei essa rotina, se eu digitar um Cnpj que exista no BD, o sistema entra em loop.


txtFilialOrigem.Text = cNova;
int nCodFilial = Convert.ToInt32(txtFilialOrigem.Text);
FiliaisBLL obj = new FiliaisBLL();
dgvFiliais.DataSource = obj.PesquisaCodFilial(nCodFilial);
txtNomeFilialOrigem.Text = obj.PesquisaCodFilial(nCodFilial).Rows[vContador]["Nome_Filial"].ToString();

Dessa forma só funciona quando o Cnpj existe, se não existe entra em loop e depois sai do sistema.

Garibaldo
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar