obligada > microsoft.* > microsoft.dotnet.vb

José A. Giménez [Py] (30-05-2009, 19:42)
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!
SoftJaén (30-05-2009, 20:16)
"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.
José A. Giménez [Py] (31-05-2009, 01:55)
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!
Goma Lago (28-07-2009, 14:56)
"SoftJaén" wrote:

[..]
> 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 (28-07-2009, 19:05)
"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 (28-07-2009, 21:59)
> 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.
tsgfano (27-06-2014, 01:10)
El sábado, 30 de mayo de 2009 13:16:48 UTC-5, SoftJaén escribió:
[..]
> 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.


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 forosen 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 debidoa que el Primary key no esta definido en verdad me sirvió de mucho tucomentario.

Te lo agradezco muchísimo que Dios te bendiga, salve eres grande!!!!!
alejandro.castrejon (24-10-2017, 13:15)
El sábado, 30 de mayo de 2009, 12:42:37 (UTC-5), José A. Giménez [Py] escribió:
[..]
> (071) 204 349
> gimenezjpy
> Messenger: gimenezj


Te debe faltar la llave unica en la tabla
guillermojorgedama (03-12-2018, 13:28)
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

El martes, 24 de octubre de 2017, 8:15:21 (UTC-3), alejandro...@itcare.com.mx escribió:
[..]
Temas Similares