Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

1,759 views
Skip to first unread message

José A. Giménez [Py]

unread,
May 30, 2009, 1:42:37 PM5/30/09
to
Saludos, cuando me conecto a una base de datos .sdf por medio del asistente
y arrastro al formulario la tabla, se crean
en el form los controles para editar, modificar y su datagrid.
Funciona cuando inserto registros nuevos, pero cuando intento modificar uno
existente me dice:

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

Prob� colocando
.AcceptChanges() en el dataset. En ese caso no muestra el error, pero
tampoco me inserta uno nuevo, ni actualiza.

Como se trata de todo generado por el asiente, cual puede ser el error?
Gracias!

--
Saludos Cordiales.

----------------------------------------------------
Ing. Jos� A. Gim�nez
(0971) 973 801
(0981) 546 539
(071) 204 349
gimen...@yahoo.com
Messenger: gime...@hotmail.com

SoftJaén

unread,
May 30, 2009, 2:16:48 PM5/30/09
to
"Jos� A. Gim�nez [Py]" escribi�:

> cuando me conecto a una base de datos .sdf por medio del asistente y
> arrastro al formulario la tabla, se crean
> en el form los controles para editar, modificar y su datagrid.
> Funciona cuando inserto registros nuevos, pero cuando intento modificar
> uno existente me dice:
>
> "Update requiere que UpdateCommand sea v�lido cuando se pasa la colecci�n
> DataRow con filas modificadas."

Lo primero que tienes que averiguar es si el Asistente te ha creado los
comandos DeleteCommand y UpdateCommand, porque si no te lo ha creado, vas a
actualizar lo que yo s�. :-))

En el Explorador de Soluciones, haz doble clic sobre el origen de datos para
abrir el Dise�ador del DataSet. Selecciona el objeto TableAdapter y pulsa la
tecla F4 para ver sus propiedades en la Ventana correspondiente. Si en las
propiedad DeleteCommand y UpdateCommand aparece �(Ninguno)�, est� claro que
el Asistente no lo ha creado, por lo tanto, no puedes actualizar la base de
datos, ya que te aparecer� la excepci�n que nos est�s comentando.

�Por qu� no ha creado el Asistente dichos comandos? La causa m�s com�n se
debe a que la tabla de la base de datos no tiene establecida su
correspondiente clave principal. Mira a ver si es tu caso, establece una
clave principal, y vuelve a configurar de nuevo el objeto TableAdapter,
cuesti�n �sta que podr�s hacer en el Dise�ador del DataSet, seleccionando el
objeto TableAdapter con el bot�n secundario del rat�n, y elegiendo la opci�n
�Configurar...� del men� contextual.

Y si la tabla tiene establecida una clave principal, en estos momentos
ignoro a qu� se puede deber, porque se supone que no existen filas
id�nticas.

--
Enrique Mart�nez
[MS MVP - VB]

Nota informativa: La informaci�n contenida en este mensaje, as� como el
c�digo fuente incluido en el mismo, se proporciona �COMO EST��, sin
garant�as de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en pr�ctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.


José A. Giménez [Py]

unread,
May 30, 2009, 7:55:12 PM5/30/09
to
Excelente, segu� tus indicaciones y quedo muy bien. Cierto, la tabla sobre
la que hac�a la prueba no tiene clave y qued� vacio el comando de
actualizaci�n.
Gracias!

Lago@discussions.microsoft.com Goma Lago

unread,
Jul 28, 2009, 8:56:01 AM7/28/09
to

"SoftJaén" wrote:

> "Jos A. Gimnez [Py]" escribi:


>
> > cuando me conecto a una base de datos .sdf por medio del asistente y
> > arrastro al formulario la tabla, se crean
> > en el form los controles para editar, modificar y su datagrid.
> > Funciona cuando inserto registros nuevos, pero cuando intento modificar
> > uno existente me dice:
> >

> > "Update requiere que UpdateCommand sea vlido cuando se pasa la coleccin

> > DataRow con filas modificadas."
>
> Lo primero que tienes que averiguar es si el Asistente te ha creado los
> comandos DeleteCommand y UpdateCommand, porque si no te lo ha creado, vas a

> actualizar lo que yo s. :-))


>
> En el Explorador de Soluciones, haz doble clic sobre el origen de datos para

> abrir el Diseador del DataSet. Selecciona el objeto TableAdapter y pulsa la

> tecla F4 para ver sus propiedades en la Ventana correspondiente. Si en las

> propiedad DeleteCommand y UpdateCommand aparece (Ninguno), est claro que

> el Asistente no lo ha creado, por lo tanto, no puedes actualizar la base de

> datos, ya que te aparecer la excepcin que nos ests comentando.
>
> Por qu no ha creado el Asistente dichos comandos? La causa ms comn se

> debe a que la tabla de la base de datos no tiene establecida su
> correspondiente clave principal. Mira a ver si es tu caso, establece una
> clave principal, y vuelve a configurar de nuevo el objeto TableAdapter,

> cuestin sta que podrs hacer en el Diseador del DataSet, seleccionando el
> objeto TableAdapter con el botn secundario del ratn, y elegiendo la opcin

> Configurar... del men contextual.
>
> Y si la tabla tiene establecida una clave principal, en estos momentos
> ignoro a qu se puede deber, porque se supone que no existen filas

> idnticas.
>
> --
> Enrique Martnez
> [MS MVP - VB]
>
> Nota informativa: La informacin contenida en este mensaje, as como el
> cdigo fuente incluido en el mismo, se proporciona COMO EST, sin
> garantas de ninguna clase, y no otorga derecho alguno. Usted asume
> cualquier riesgo al poner en prctica, utilizar o ejecutar lo recomendado o

> sugerido en el presente mensaje.
>
>
>
>

Yo tuve el mismo problema que Jos A. Gimnez así que establecí una contraseña
en la base de datos y volví a configurar el tableadapter, pero al final del
configurador ,donde te salen los elementos que el mismo genero con exito,
sigue sin aparecerme el updatecommand y el delete command. Por lo tanto
cuando actualizo la base de datos habiendo modificado o eliminado una fila me
sale el error: "Update requiere que UpdateCommand sea válido cuando se .....
". Por favor necesito que alguien me pueda ayudar ya que estoy desarrollando
un sist. para administrar una pequeña empresa. Por si es de ayuda comento que
la base de datos que utilizo es access.
Saludos,
Goma Lago

SoftJa�n

unread,
Jul 28, 2009, 1:05:56 PM7/28/09
to
"Goma Lago" escribi�:
>
> Yo tuve el mismo problema que Jos A. Gimnez as� que establec�
> una contrase�a en la base de datos y volv� a configurar el

> tableadapter, pero al final del configurador ,donde te salen
> los elementos que el mismo genero con exito, sigue sin
> aparecerme el updatecommand y el delete command...

Hola:

Con establecerle una contrase�a a la base de Access, no vas a resolver el
problema. Tienes que procurar que las tablas de tu base de Access tenga
establecida su correspondiente clave principal. Si no la tienen, el
Asistente no te va a crear dichos comandos.

Un saludo


Goma Lago

unread,
Jul 28, 2009, 3:59:01 PM7/28/09
to

> Hola:
>
> Con establecerle una contraseña a la base de Access, no vas a resolver el
> problema. Tienes que procurar que las tablas de tu base de Access tenga
> establecida su correspondiente clave principal. Si no la tienen, el
> Asistente no te va a crear dichos comandos.
>
> Un saludo
>
>
>
Gracias, ahora sí se me crearon los commandos.
Saludos.

tsg...@gmail.com

unread,
Jun 26, 2014, 7:10:33 PM6/26/14
to
Buena tarde,

SoftJaén eres un bendito genio! tenía mas de una semana con este problema de que los botones del BindingSource no me funcionaban, intente con vario vídeos de Youtube, seguía los pasos y nada. Visite foros en español e inglés pero las soluciones de ambos no me resolvían para nada. Hasta que leo tu comentario, en efecto tuviste mucha razón las instrucciones dentro del DataSet no están generadas debido a que el Primary key no esta definido en verdad me sirvió de mucho tu comentario.

Te lo agradezco muchísimo que Dios te bendiga, salve eres grande!!!!!

alejandro...@itcare.com.mx

unread,
Oct 24, 2017, 7:15:21 AM10/24/17
to
Te debe faltar la llave unica en la tabla

guillermo...@gmail.com

unread,
Dec 3, 2018, 6:28:37 AM12/3/18
to
Hola. Mis tablas tienen claves principales... aun asi me estan arrojando error como si no las tuvieran...
Tenes idea como puedo arreglar el "'Update requiere que UpdateCommand sea válido cuando se pasa la colección DataRow con filas modificadas." ???
Saludos
0 new messages