Foros del Web » Programación para mayores de 30 ;) » .NET »

Error de UpdateCommand

Estas en el tema de Error de UpdateCommand en el foro de .NET en Foros del Web. Que tal compañeros he estado realizando una practica ya que deseo aprender C# junto con MySQL, pero me sale un error, dependiendo del codigo que ...
  #1 (permalink)  
Antiguo 11/11/2011, 22:02
 
Fecha de Ingreso: octubre-2011
Ubicación: Mexico
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Error de UpdateCommand

Que tal compañeros he estado realizando una practica ya que deseo aprender C# junto con MySQL, pero me sale un error, dependiendo del codigo que use:

Código PHP:
this.hacerConexion();               
 
/*String sqlActualizarNombre = "SELECT nombre FROM catalogo;
MySqlCommand comando_ActualizarNombre = new MySqlCommand(sqlActualizarNombre, conexion);
comando_ActualizarNombre.CommandType = CommandType.Text;
                    
MySqlDataAdapter da_datos = new MySqlDataAdapter(comando_ActualizarNombre);
DataTable dt_ActualizarNombre = new DataTable();
da_datos.Fill(dt_ActualizarNombre);
dt_ActualizarNombre.Rows[PosicionFila]["nombre"] = txtNombre.Text;
da_datos.Update(dt_ActualizarNombre);
conexion.Close();*/
                    
MySqlDataAdapter da_datos = new MySqlDataAdapter();
da_datos.UpdateCommand = new MySqlCommand("UPDATE catalogo SET nombre=@nombre"conexion);
                    
da_datos.UpdateCommand.Parameters.Add("@nombre"MySqlDbType.VarChar200).Value txtNombre.Text;
da_datos.UpdateCommand.Connection conexion;
da_datos.UpdateCommand.ExecuteNonQuery();
conexion.Close(); 
Para el segundo código, es decir, el que no esta comentado, me funciona solo que con un pequeño problema que lo que tenga en el txtNombre.text cambia todos los registros de dicha columna. Y solo me interesa el de una determinada posición.

Buscando encontré otra forma, que en este caso es el código que se encuentra comentado pero aquí, justamente después del da_datos.Update(dt_ActualizarNombre) me sale el siguiente error:

Update requiere que UpdateCommand sea válido cuando se pasa la colección DataRow con filas modificadas.

E intente colocar: da_datos.UpdateCommand = comando_ActualizarNombre;
Pero al parecer no se utiliza así. Pueden ayudarme?
Gracias de antemano
  #2 (permalink)  
Antiguo 11/11/2011, 22:07
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Error de UpdateCommand

Te falta agregar la condicion del registro que deseas modificar.

Usa el codigo que no tienes comentado pero en la sentencia del update agrega el where con la condicion que necesitas
  #3 (permalink)  
Antiguo 11/11/2011, 22:18
 
Fecha de Ingreso: octubre-2011
Ubicación: Mexico
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Error de UpdateCommand

Cita:
Iniciado por ramirezmario7 Ver Mensaje
Te falta agregar la condicion del registro que deseas modificar.

Usa el codigo que no tienes comentado pero en la sentencia del update agrega el where con la condicion que necesitas
Gracias por responder, en otras palabras y a ver si entiendo quedaria algo asi:

Código PHP:
MySqlDataAdapter da_datos = new MySqlDataAdapter();
da_datos.UpdateCommand = new MySqlCommand("UPDATE catalogo SET nombre=@nombre WHERE id_folio=@PosicionFila"conexion);
                    
da_datos.UpdateCommand.Parameters.Add("@nombre"MySqlDbType.VarChar200).Value txtNombre.Text;
da_datos.UpdateCommand.Connection conexion;
da_datos.UpdateCommand.ExecuteNonQuery();
conexion.Close(); 
Ahi lo agrege pero ahora donde lo establesco en el Parameters.Add o en el UpdateCommand ?
  #4 (permalink)  
Antiguo 11/11/2011, 22:20
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Error de UpdateCommand

Agrega otro parametro como hicistes con el de @nombre, despues del que ya tienes agrega el otro exactamente igual que el de @nombre pero con sus datos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.