Me paso con anterioridad en Java utilizando JDBC y el error se resolvía poniendo el campo entre \" y \" (update players set \"number\"=...), pero en C# con OleDb no sirve, a ver si sabe como se resuelve aquí ;)
Dejo el código que tengo ahora mismo y SÍ funciona (sin los campos number y position) por si sirve de ayuda:
Código:
Gracias de antemano public void guardarJugador(Jugador j) { try { OleDbDataAdapter da = new OleDbDataAdapter("update players set yearsexp="+j.experiencia+", team=" + j.equipo + ", fgpbase=" + j.tc + ", threeptbas=" + j.t3 + ", ftpbase=" + j.tl + ", DNKABILITY=" + j.mate + ", DHARDY=" + j.vigor + ", BLKABILITY=" + j.tapon + ", OREABILITY=" + j.rof + ", DREABILITY=" + j.rdef + ", BALABILITY=" + j.pase + ", OFFABILITY=" + j.ataque + ", DEFABILITY=" + j.defensa + ", SPEED=" + j.velocidad + ", QUICK=" + j.agilidad + ", JUMP=" + j.salto + ", DRIBBLE=" + j.dribbling + ", DSTRENGTH=" + j.fuerza + ", STLABILITY=" + j.robo + ", FATIGUE=" + j.resistencia + ", INSIDESC=" + j.tz + ", hand=" + j.mano + ", name='" + j.apellido + "', fname='" + j.nombre + "' where PLAYERID=" + j.pid, con); dt = new DataTable(); da.Fill(dt); MessageBox.Show("Jugador guardado correctamente"); } catch (Exception e) { MessageBox.Show("Error al abrir la base de datos\n" + e.Message); } }