Usuário com melhor resposta
DELETE E UPDATE num mesmo método

Pergunta
-
Pessoal, quero excluir um registro e, no mesmo processo, atualizar outro. Fiz o código abaixo, mas não está fazendo isso. Vejam:
private void btnRemover_Click(object sender, EventArgs e)
{
string stringConexao = mtds.caminhoBD();
OleDbConnection conexao = new OleDbConnection(stringConexao);
conexao.Open();
OleDbCommand cmdd = new OleDbCommand();
string colunaQtdeVenda = this.dgvPedido.Rows[dgvPedido.CurrentRow.Index].Cells[3].Value.ToString();
string colunaQtdeEstoque = this.dgvPedido.Rows[dgvPedido.CurrentRow.Index].Cells[4].Value.ToString();
cmdd.CommandText = "delete from Temp_vendas where codISBN = @codISBN";
cmdd.Parameters.AddWithValue("@codISBN", this.mtbISBN.Text);
cmdd.Connection = conexao;
cmdd.ExecuteNonQuery();
cmdd.CommandText = "UPDATE Titulos SET Titulos.qtde = @qtde WHERE Titulos.isbn = @codISBN";
cmdd.Parameters.AddWithValue("@qtde", colunaQtdeEstoque);
cmdd.Parameters.AddWithValue("@codISBN", this.mtbISBN.Text);
cmdd.Connection = conexao;
cmdd.ExecuteNonQuery();
conexao.Close();
atualizaDataGridView();}
Insistir sempre, desistir jamais!
Respostas
-
Olá Junior,
Sua sintaxe esta correta, me parace que a sua clausula WHERE do comando UPDATE não esta encontrando registros com valores do campo isbn com os valores exigidos...O bloco de exclusão de registros esta funcionando ok?
Olhe o tipo da coluna isbn se está correto...
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.wordpress.com/
Twitter: @ferhenrique- Marcado como Resposta JuniorCS sexta-feira, 25 de novembro de 2011 17:45
Todas as Respostas
-
Olá Junior,
Algum erro é disparado?
Tente colocar uma linha criando uma nova instância para cmdd entre as duas execuções de comando no banco, desta forma:
string stringConexao = mtds.caminhoBD(); OleDbConnection conexao = new OleDbConnection(stringConexao); conexao.Open(); OleDbCommand cmdd = new OleDbCommand(); string colunaQtdeVenda = this.dgvPedido.Rows[dgvPedido.CurrentRow.Index].Cells[3].Value.ToString(); string colunaQtdeEstoque = this.dgvPedido.Rows[dgvPedido.CurrentRow.Index].Cells[4].Value.ToString(); cmdd.CommandText = "delete from Temp_vendas where codISBN = @codISBN"; cmdd.Parameters.AddWithValue("@codISBN", this.mtbISBN.Text); cmdd.Connection = conexao; cmdd.ExecuteNonQuery(); cmdd = new OleDbCommand(); cmdd.CommandText = "UPDATE Titulos SET Titulos.qtde = @qtde WHERE Titulos.isbn = @codISBN"; cmdd.Parameters.AddWithValue("@qtde", colunaQtdeEstoque); cmdd.Parameters.AddWithValue("@codISBN", this.mtbISBN.Text); cmdd.Connection = conexao; cmdd.ExecuteNonQuery(); conexao.Close(); atualizaDataGridView();
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.wordpress.com/
Twitter: @ferhenrique- Sugerido como Resposta Vitor Mendes sexta-feira, 25 de novembro de 2011 01:44
-
-
Olá Junior,
Sua sintaxe esta correta, me parace que a sua clausula WHERE do comando UPDATE não esta encontrando registros com valores do campo isbn com os valores exigidos...O bloco de exclusão de registros esta funcionando ok?
Olhe o tipo da coluna isbn se está correto...
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.wordpress.com/
Twitter: @ferhenrique- Marcado como Resposta JuniorCS sexta-feira, 25 de novembro de 2011 17:45
-