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();
}
}
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
Curtir tópico
+ 0
Responder
Posts
30/08/2012
Joel Rodrigues
Verifique se a linha abaixo chega a ser executada:
Se for, poste o código desse método PesquisaCodFilial.
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
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
Clique aqui para fazer login e interagir na Comunidade :)