Jump to content

a referência de objeto não foi definida como uma instância de um objecto


Recommended Posts

Posted

Olá,

Tenho o seguinte código:

OleDbCommand cmd = new OleDbCommand("SELECT top 1 InicInt FROM BlFactManuais where Loja ='" + DropLoja2.SelectedItem.Text + "'and Estado ='Aberto'", conn);
			 OleDbCommand cmd2 = new OleDbCommand("SELECT top 1 FimInt FROM BlFactManuais where Loja ='" + DropLoja2.SelectedItem.Text + "'and Estado ='Aberto'", conn);

			 Count = (int)cmd.ExecuteScalar();
			 Count2 = (int)cmd2.ExecuteScalar();

			 cmd.Connection = conn;
			 cmd.ExecuteNonQuery();
			 cmd2.Connection = conn;
			 cmd2.ExecuteNonQuery();
			 conn.Close();

O problema é quando os dois counts vêm sem nada da´-me erro: a referência de objeto não foi definida como uma instância de um objecto.

Se coloco a verificação antes, retorna sempre como null. Se meto dp, dá-me sempre o tal erro.

Como faço a verificação?

Posted (edited)

Provavelmente um desses select não está a retornar nenhum registo, e o ExecuteScalar retorna um objecto com null, e estas a fazer o cast para int.

Edited by nelsonr
Posted

Provavelmente um desses select não está a retornar nenhum registo, e o ExecuteScalar retorna um objecto com null, e estas a fazer o cast para int.

Não está. Como faço para dar uma mensagem a dizer que não existe registos.

Posted

Poes a variavel Count do tipo object. Depois fazes algo assim:

Count = cmd.ExecuteScalar();
if(Count!=null)
{
// Aqui já podes usar o cast para int
}

Isso já tinha feito. Como tinha dito na criação do tópico, quando meto uma mensagem dp dá-me erro. Executa esta linha Count = (int)cmd.ExecuteScalar(); e como vem null passa para o catch

Posted

Isso já tinha feito. Como tinha dito na criação do tópico, quando meto uma mensagem dp dá-me erro. Executa esta linha Count = (int)cmd.ExecuteScalar(); e como vem null passa para o catch

Mas leste o que escrevi?

Não poes o casts ai, só fazes o cast depois de confirmares que a variavel não é null.

Posted

Mas leste o que escrevi?

Não poes o casts ai, só fazes o cast depois de confirmares que a variavel não é null.

Desculpa, com a pressa n reparei bem. Só falta o object antes do Count. 👍

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.