IF NAO RESPONDE CORRETAMENTE
Pessoal,
estou usando o codigo abaixo para verificar se um registro ja existe ou não no banco de dados SQL
//Criando objeto de conexão com o banco de dados
SqlConnection conexao = new SqlConnection(ConfigurationManager.ConnectionStrings[[Ô]StrInqueritos[Ô]].ToString());
//Criando objeto responsavel por executar o comando SQL no banco de dados
SqlCommand executor = new SqlCommand();
//Anexando ao objeto executor a conexão com o banco de dados
executor.Connection = conexao;
//Definindo o tipo de comando que será enviado ao bco de dados, nesse caso, texto
executor.CommandType = CommandType.Text;
executor.CommandText = @[Ô]Select [NOME_INDICIADO]
FROM [BDInqueritos].[dbo].[TBL_INDICIADOS]
WHERE [NOME_INDICIADO] = [ô][Ô] + TextBoxNome.Text + [Ô][ô][Ô];
//Abrindo a conexão com banco de dados para envio dos comando
executor.Connection.Open();
SqlDataReader leitor = executor.ExecuteReader();
string _retorno = string.Empty;
if (leitor.Read())
{
[ô][ô] NESTE IF SÓ ENTRA NO ELSE ALGUéM SABE ONDE ESTAR O ERRO.
if (leitor.IsDBNull(0) == true)
{
bool GravouComSussesso = AddIndiciados(TextBoxNome.Text, DropDownListRaca.SelectedItem.Text, DropDownListSexo.SelectedItem.Text, TextBoxNacionalidade.Text, DropDownListEstados.SelectedItem.Text, DropDownListNaturalidade.SelectedItem.Text, TextBoxNascimento.Text, DropDownListEstadoCivil.SelectedItem.Text, TextBoxProfissao.Text, TextBoxIdentidade.Text, TextBoxOrgaoEmissor.Text, TextBoxCpf.Text, TextBoxFone.Text, TextBoxNomedaMae.Text, TextBoxNomedoPai.Text, TextBoxRua.Text, TextBoxBairro.Text, TextBoxCidade.Text, TextBoxCep.Text);
if (GravouComSussesso)
{
LabelErro.Text = [Ô]Registro gravado com sucesso![Ô];
}
else
{
LabelErro.Visible = true;
LabelErro.Text = [Ô]houve erro na gravação[Ô];
}
}
else
{
LabelErro.Visible = true;
LabelErro.Text = [Ô]Erro: [Ô] + TextBoxNome.Text + [Ô] já cadastrado[Ô];
return;
}
}
conexao.Close();
conexao.Dispose();
O PROBLEMA QUE A PRIMEIRA CONDIÇÃO DO IF NÃO RESPONDE CORRETAMENTE
SE NAO EXISTE O REGISTRO QUE ESTOU CADASTRANDO NO BANCO RESPONDE NORMALMENTE E ENTRA NO ELSE, MAS
SE EXISTE NÃO FAZ NADA MAS DEVERIA CADASTRAR.
ALGUéM SABE ONDE ESTAR ERRO?
estou usando o codigo abaixo para verificar se um registro ja existe ou não no banco de dados SQL
//Criando objeto de conexão com o banco de dados
SqlConnection conexao = new SqlConnection(ConfigurationManager.ConnectionStrings[[Ô]StrInqueritos[Ô]].ToString());
//Criando objeto responsavel por executar o comando SQL no banco de dados
SqlCommand executor = new SqlCommand();
//Anexando ao objeto executor a conexão com o banco de dados
executor.Connection = conexao;
//Definindo o tipo de comando que será enviado ao bco de dados, nesse caso, texto
executor.CommandType = CommandType.Text;
executor.CommandText = @[Ô]Select [NOME_INDICIADO]
FROM [BDInqueritos].[dbo].[TBL_INDICIADOS]
WHERE [NOME_INDICIADO] = [ô][Ô] + TextBoxNome.Text + [Ô][ô][Ô];
//Abrindo a conexão com banco de dados para envio dos comando
executor.Connection.Open();
SqlDataReader leitor = executor.ExecuteReader();
string _retorno = string.Empty;
if (leitor.Read())
{
[ô][ô] NESTE IF SÓ ENTRA NO ELSE ALGUéM SABE ONDE ESTAR O ERRO.
if (leitor.IsDBNull(0) == true)
{
bool GravouComSussesso = AddIndiciados(TextBoxNome.Text, DropDownListRaca.SelectedItem.Text, DropDownListSexo.SelectedItem.Text, TextBoxNacionalidade.Text, DropDownListEstados.SelectedItem.Text, DropDownListNaturalidade.SelectedItem.Text, TextBoxNascimento.Text, DropDownListEstadoCivil.SelectedItem.Text, TextBoxProfissao.Text, TextBoxIdentidade.Text, TextBoxOrgaoEmissor.Text, TextBoxCpf.Text, TextBoxFone.Text, TextBoxNomedaMae.Text, TextBoxNomedoPai.Text, TextBoxRua.Text, TextBoxBairro.Text, TextBoxCidade.Text, TextBoxCep.Text);
if (GravouComSussesso)
{
LabelErro.Text = [Ô]Registro gravado com sucesso![Ô];
}
else
{
LabelErro.Visible = true;
LabelErro.Text = [Ô]houve erro na gravação[Ô];
}
}
else
{
LabelErro.Visible = true;
LabelErro.Text = [Ô]Erro: [Ô] + TextBoxNome.Text + [Ô] já cadastrado[Ô];
return;
}
}
conexao.Close();
conexao.Dispose();
O PROBLEMA QUE A PRIMEIRA CONDIÇÃO DO IF NÃO RESPONDE CORRETAMENTE
SE NAO EXISTE O REGISTRO QUE ESTOU CADASTRANDO NO BANCO RESPONDE NORMALMENTE E ENTRA NO ELSE, MAS
SE EXISTE NÃO FAZ NADA MAS DEVERIA CADASTRAR.
ALGUéM SABE ONDE ESTAR ERRO?
Tira aquele if e testa
if (leitor.HasRows)
{
}
Caro
O problema de entrar dentro deste IF é que essa condição senpre será verdadeira
Talves para seu método de verificação da sua SqlDataReader seja verificar se esta ou não null
seu if ficaria assim: if (reader != null) ou if (reader == null)
Isso verifica se esta null ou não.
No seu Código if (leitor.Read()) já é uma condição de ter retorno ou não do seu executor.ExecuteReader();
if (leitor.Read())
{
Console.WriteLine([Ô]Registro encontrado com sucesso!!!!!!!!!!!!!!!!.[Ô]);
}
else
{
Console.WriteLine([Ô]Registro não encontrado..............[Ô]);
}
Boa Sorte
O problema de entrar dentro deste IF é que essa condição senpre será verdadeira
Talves para seu método de verificação da sua SqlDataReader seja verificar se esta ou não null
seu if ficaria assim: if (reader != null) ou if (reader == null)
Isso verifica se esta null ou não.
No seu Código if (leitor.Read()) já é uma condição de ter retorno ou não do seu executor.ExecuteReader();
if (leitor.Read())
{
Console.WriteLine([Ô]Registro encontrado com sucesso!!!!!!!!!!!!!!!!.[Ô]);
}
else
{
Console.WriteLine([Ô]Registro não encontrado..............[Ô]);
}
Boa Sorte
AJSO,,
VOCÊ é O CARA VALEU MESMO DEU CERTINHO.
ASHKATCHUP,
A VOCE TAMBéM MUITO OBRIGADO PELA ATENÇÃO E TENTATIVA DE AJUDA.
GRATO A TODOS.
VOCÊ é O CARA VALEU MESMO DEU CERTINHO.
ASHKATCHUP,
A VOCE TAMBéM MUITO OBRIGADO PELA ATENÇÃO E TENTATIVA DE AJUDA.
GRATO A TODOS.
Tópico encerrado , respostas não são mais permitidas