El SqlDataAdapter.Update( ) no funciona para el DeleteCommand( )

27/07/2005 - 17:32 por Antonio Garcia | Informe spam
Hola amigos he construido manualmente mi Command para mi SqlDataAdapter y
funciona muy bien para el Update y el Insert pero para el Delete no
funciona, cuando yo elimino una fila de mi DataTable lo hago mediante
DataTable.Rows.RemoveAt(Fila) ¿será por eso que no funciona?

Mi codigo del DeleteCommand es:

dap.DeleteCommand = new SqlCommand();

dap.DeleteCommand.Connection = Sistema.Conexion;

dap.DeleteCommand.CommandText = "usp_EliminarDetalleVenta";

dap.DeleteCommand.CommandType = CommandType.StoredProcedure;

dap.DeleteCommand.Parameters.Add("@DetVentasId",SqlDbType.Int);


dap.DeleteCommand.Parameters["@DetVentasId"].SourceColumn = "DetVentasId";

dap.Update(dt);

El dap.Update(dt) no me bota ningún error.

Gracias por su ayuda.
 

Leer las respuestas

#1 Pedro Luna Montalvo, [MVP VB.NET]
27/07/2005 - 20:47 | Informe spam
Pues precisamente, el comando que usas remueve el DataRow del DataTable, por
lo que cuando el DataAdapter actualiza los cambios, no hace nada con ese
registro, pues ya no existe.

En lugar de removerlo del DataTable, debes dejarlo ahi y marcarlo como un
registro eliminado: utiliza el metodo Delete() del DataRow.


Saludos,
Pedro Luna, [MVP VB.NET]
Gye, Ecu

"Antonio Garcia" escribió en el mensaje
news:OdE%
Hola amigos he construido manualmente mi Command para mi SqlDataAdapter y
funciona muy bien para el Update y el Insert pero para el Delete no
funciona, cuando yo elimino una fila de mi DataTable lo hago mediante
DataTable.Rows.RemoveAt(Fila) ¿será por eso que no funciona?

Mi codigo del DeleteCommand es:

dap.DeleteCommand = new SqlCommand();

dap.DeleteCommand.Connection = Sistema.Conexion;

dap.DeleteCommand.CommandText = "usp_EliminarDetalleVenta";

dap.DeleteCommand.CommandType = CommandType.StoredProcedure;

dap.DeleteCommand.Parameters.Add("@DetVentasId",SqlDbType.Int);


dap.DeleteCommand.Parameters["@DetVentasId"].SourceColumn = "DetVentasId";

dap.Update(dt);

El dap.Update(dt) no me bota ningún error.

Gracias por su ayuda.


Preguntas similares