Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Gehlen

Problema com UPDATE em access

Recommended Posts

Olá, gostaria de saber se existe algum erro de logica ou sintaxe no meu codigo

public bool atualizar(_Contatos contato)
       {
           this.getCon();
           string sql = "UPDATE Contatos SET endereco = @endereco, mail = @mail, fone1 = @fone1, fone2 = @fone2 WHERE nome= @nome";
           try
           {
               OleDbCommand oleCmd = new OleDbCommand(sql, this.myOleCon);
               oleCmd.Parameters.AddWithValue("@nome", contato.nome);
               oleCmd.Parameters.AddWithValue("@endereco", contato.endereco);
               oleCmd.Parameters.AddWithValue("@mail", contato.mail);
               oleCmd.Parameters.AddWithValue("@fone1", contato.fone1);
               oleCmd.Parameters.AddWithValue("@fone2", contato.fone2);
               this.myOleCon.Open();
               oleCmd.ExecuteNonQuery();
               return true;
           }
           catch (OleDbException oleEx)
           {
               this.reportaErr(oleEx);
               return false;
           }
           catch (ApplicationException appEx)
           {
               this.reportaErr(appEx);
               return false;
           }
           finally
           {
               this.myOleCon.Close();
           }

 

Vocês veem algum erro, ele simplismente sempre retorna 0 linhas afetadas, voces veen falhas?

Tem alguma dica de otimização?

Att,

Luiz felipe

Compartilhar este post


Link para o post
Compartilhar em outros sites

O parametro no oledb não é passado com ":" dois pontos ??

 

......................................................................................................

 

tente assim :

public bool atualizar(_Contatos contato)
	{
	this.getCon();
	string sql = "UPDATE Contatos SET endereco = @endereco, mail = @mail, fone1 = @fone1, fone2 = @fone2 WHERE nome= @nome";
	try
	{
	OleDbCommand oleCmd = new OleDbCommand(sql, this.myOleCon);
	oleCmd.Parameters.Add(new oledbParameter( "@nome", contato.nome));
	oleCmd.Parameters.Add(new oledbParameter("@endereco", contato.endereco));
	oleCmd.Parameters.Add(new oledbParameter("@mail", contato.mail));
	oleCmd.Parameters.Add(new oledbParameter("@fone1", contato.fone1));
	oleCmd.Parameters.Add(new oledbParameter("@fone2", contato.fone2));
	this.myOleCon.Open();
	oleCmd.ExecuteNonQuery();
	return true;
	}
	catch (OleDbException oleEx)
	{
	this.reportaErr(oleEx);
	return false;
	}
	catch (ApplicationException appEx)
	{
	this.reportaErr(appEx);
	return false;
	}
	finally
	{
	this.myOleCon.Close();
	}

 

dá uma olhada também na variável contato.nome e vê se tá chegando com valor ou nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.