Fórum ERRO NO COMANDO UPDATE CSHARP E ACCESS #594359

22/05/2018

0

C#

Boa tarde. Sou novato em programação e preciso esclarecer uma dúvida.
Estou com problemas no UPDATE do banco que não está gravando.O programa está em C# com banco ACCESS
Passo os parâmetros e recebe corretamente sem erros, executa o SQL , cai no return TRUE só que não grava.Usei uma uma condição If no comando ExecuteNonQuery e ai que percebi que não entra.
try
{
String SQL;

SQL = " UPDATE TBGPS SET NomeSolicitante = @NomeSolicitante, HoraSolicitante = @HoraSolicitante, NomeAdmGestao = @NomeAdmGestao," +
"HoraAdmGestao =@HoraAdmGestao , NomeAdmSeparacao = @NomeAdmSeparacao, HoraAdmSeparacao = @HoraAdmSeparacao, NomeSeparador = @NomeSeparador," +
"NomeRecepcao = NomeRecepcao, HoraRecepcao = @HoraRecepcao, Status = @Status, PorcConcluido = @PorcConcluido WHERE (((TBGPS.NumPedido )= @NumPedido))";

OleDbCommand cmd = new OleDbCommand(SQL, SAI.UTILITARIOS.ConexaoBanco.conexao);

cmd.Parameters.AddWithValue("@NomeSolicitante", NomeSolicitante);
cmd.Parameters.AddWithValue("@HoraSolicitante", HoraSolicitante);
cmd.Parameters.AddWithValue("@NomeAdmGestao", NomeAdmGestao);
cmd.Parameters.AddWithValue("@HoraAdmGestao", HoraAdmGestao);
cmd.Parameters.AddWithValue("@NomeAdmSeparacao", NomeAdmSeparacao);
cmd.Parameters.AddWithValue("@HoraAdmSeparacao", HoraAdmSeparacao);
cmd.Parameters.AddWithValue("@NomeSeparador", NomeSeparador);
cmd.Parameters.AddWithValue("@NomeRecepcao", NomeRecepcao);
cmd.Parameters.AddWithValue("@HoraRecepcao", HoraRecepcao);
cmd.Parameters.AddWithValue("@Status", Status);
cmd.Parameters.AddWithValue("@PorcConcluido", PorcConcluido);
cmd.Parameters.AddWithValue("@NumPedido", NumPedido);

cmd.CommandType = CommandType.Text;
cmd.Connection = SAI.UTILITARIOS.ConexaoBanco.conexao;

if (cmd.ExecuteNonQuery() > 0)
{
//esta condição é somente para verificar se ocorreu modificação...
}
else =============================> está caindo neste trecho do código
{
//não ocorreu modificação na tabela...
}
return true; <============================= e retorna verdadeiro
}

Por favor, se alguém puder me ajudar agradeço. Fazendo manualmente pelo QueryBilder do diagrama do Dataset funciona, mas dentro da aplicação não.O que não entendo é que no Insert,Delete,Select tudo funciona.
Passo os valores de um Grid para os texbox , altero o que é necessário, e ao clicar em salvar dá erro.O código do botão salvar é esse:
private void btnSalvar_Click(object sender, EventArgs e)
{

SAI.UTILITARIOS.ConexaoBanco.conexao = new OleDbConnection(Properties.Settings.Default.CAMINHOBANCO + Properties.Settings.Default.PSW);
SAI.UTILITARIOS.ConexaoBanco.conexao.Open();


SAI.BANCO.TBGPS Gps = new SAI.BANCO.TBGPS(); // instancia para a variavel não vir nula.


Gps.NumPedido = Convert.ToInt32(txtNumPed.Text);
Gps.NomeSolicitante = txtAdmSolicitacao.Text;
Gps.HoraSolicitante = txtHrSolicitacao.Text;
Gps.NomeAdmGestao = txtAdmGestao.Text;
Gps.HoraAdmGestao = txtHrGestao.Text;
Gps.NomeAdmSeparacao = txtAdmSeparacao.Text;
Gps.HoraAdmSeparacao = txtHrSeparacao.Text;
Gps.NomeSeparador = txtNomeSeparador.Text;
Gps.NomeRecepcao = txtAdmRecepcao.Text;
Gps.HoraRecepcao = txtHrRecepcao.Text;
Gps.Status = cbStatus.Text;
Gps.PorcConcluido = Convert.ToInt32(txtPorcConcluido.Text);

Gps.Alterar();

Aguardo retorno e novamente obrigado.
Jefferson

Jefferson

Responder

Posts

25/05/2018

Paulo Freire

Olá Jefferson, tente dessa forma:

private void FinalizaSorteio(int pMatr, int pSemana, int pNroSorteio)
{
using (SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Conexao"].ConnectionString))
{
string sSQL = @"UPDATE SORTEIO SET SORTEIO.NROSORTEIO = @nrosorteio
WHERE SORTEIO.MATR = @matr AND SORTEIO.SEMANA = @semana";

SqlCommand cmd = new SqlCommand(sSQL, Conn);
cmd.Parameters.AddWithValue("@matr", pMatr);
cmd.Parameters.AddWithValue("@nrosorteio", pNroSorteio);
cmd.Parameters.AddWithValue("@semana", pSemana);
Conn.Open();
cmd.ExecuteNonQuery();
Conn.Close();

}
}
Responder

Gostei + 0

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

Aceitar