Erro na Entrada no Estoque
13/01/2016
0
[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
Post mais votado
07/02/2016
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
Mais Posts
07/02/2016
Ruy Salles
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.
08/02/2016
Jair Souza
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.
08/02/2016
Jair Souza
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...
08/02/2016
Ruy Salles
itemLocacaoDataGridView.Rows[i].Cells["IDLivro"].Value.ToString()
E qual o valor de i e cada laço do loop.
08/02/2016
Jair Souza
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 !
Clique aqui para fazer login e interagir na Comunidade :)