juergen d
juergen d

Reputation: 204924

MS Access: Update query has no errors but does nothing

Using this code to update a record

var query = "UPDATE myTable SET name = @name where id = @id";
using (DbCommand cmd = new OleDbCommand(query, connection))
{
    try
    {
        cmd.Parameters.Add(new OleDbParameter("@id", item.Id));
        cmd.Parameters.Add(new OleDbParameter("@name", item.Name));            
        cmd.ExecuteNonQuery();
    }
    catch (Exception e)   {   }
}

But the record does not get updated. I get no error. The record exists in the DB. What is going on?

Upvotes: 0

Views: 67

Answers (1)

juergen d
juergen d

Reputation: 204924

I don't know why but you have to add the parameters of your query in the order they appear in your query string. So flip these two lines

cmd.Parameters.Add(new OleDbParameter("@id", item.Id));  
cmd.Parameters.Add(new OleDbParameter("@name", item.Name)); 

to

cmd.Parameters.Add(new OleDbParameter("@name", item.Name)); 
cmd.Parameters.Add(new OleDbParameter("@id", item.Id));  

Upvotes: 1

Related Questions