Erro na Entrada no Estoque

13/01/2016

0

Olá, tenho um problema...é para dar a entrada no estoque, no form de Devolução, com o método abaixo está dando entrada correta se marcar uma só linha, se marcar todos está duplicando a entrada(em vez de entrar um livro de cada entra dois em cada no estoque, se tiver três entra três em cada e assim por diante...), se alguém puder ajudar, já tentei tudo que sei...


[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20160113-113422.png[/img]

public void entradaEstoque()
        {
            OleDbConnection conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\BDBiblioteca.mdb;Jet OLEDB:Database Password = grazi1vini2");
 
            try
            {
                conexao.Open();
 
                for (int i = 0; i <= itemLocacaoDataGridView.RowCount - 1; i++)
                {
                    if (Convert.ToBoolean(itemLocacaoDataGridView.Rows[i].Cells[0].Value) == true)
                    {
                        OleDbCommand comando = new OleDbCommand("UPDATE Estoque SET Entrada = Entrada + 1 WHERE IDLivro = " + itemLocacaoDataGridView.Rows[i].Cells["IDLivro"].Value.ToString(), conexao);
                        comando.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro !" + ex, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                conexao.Close();
            }
        }
Jair Souza

Jair Souza

Responder

Post mais votado

07/02/2016

Ajuda...por favor !


Alguém tem alguma dica ???


Jair sempre peço paciência em outras salas, o Fórum é colaborativo e as pessoas respondem quando podem!

Quanto a sua dúvida, já debugou o código para ver quantas vezes esse loop está passando pela instrução SQL?

William

William
Responder

Mais Posts

28/01/2016

Jair Souza

Ajuda...por favor !
Responder

06/02/2016

Jair Souza

Ajuda...por favor !


Alguém tem alguma dica ???
Responder

07/02/2016

Ruy Salles

Não consegui detectar erro na rotina que você postou aqui no fórum.

A única situação que imaginei para estar acontecendo isso, é que no IDLivro está sendo o mesmo para todos os livros. Verifique se está ocorrendo isso.

Espero ter ajudado.
Responder

08/02/2016

Jair Souza

Ajuda...por favor !


Alguém tem alguma dica ???


Jair sempre peço paciência em outras salas, o Fórum é colaborativo e as pessoas respondem quando podem!

Quanto a sua dúvida, já debugou o código para ver quantas vezes esse loop está passando pela instrução SQL?


Eu tenho consciência disto, mas como já se passaram +- 20 dias, fiz o questionamento para trazer o tópico para cima na lista.

O loop está passando pela instrução sql quantas vezes = número de livros que tenha no grid :
Exemplo :

Se tiver 2 livros = passa duas vezes;
Se tiver 3 livros = passa três vezes, e assim por diante.

Isto acontece somente quando se marca todos de uma só vez para devolver...mas se devolver um de cada vez funciona corretamente.
Responder

08/02/2016

Jair Souza

Não consegui detectar erro na rotina que você postou aqui no fórum.

A única situação que imaginei para estar acontecendo isso, é que no IDLivro está sendo o mesmo para todos os livros. Verifique se está ocorrendo isso.

Espero ter ajudado.


Já verifiquei o IDLivro é individual, como demonstrado na coluna Código do livro...
Responder

08/02/2016

Ruy Salles

Verifique o que retorna do banco dados:

itemLocacaoDataGridView.Rows[i].Cells["IDLivro"].Value.ToString()

E qual o valor de i e cada laço do loop.
Responder

08/02/2016

Jair Souza

Descobri o erro o método entradaEstoque() , estava dentro de outro loop...rrrrrrrrrrrrrrrrrrss...coloquei antes deste loop, e agora funciona perfeitamente.

Foi pela dica de Debugar do William, que comecei a verificar o código a cada linha e achei a minha falha.

Valeu a todos !
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar