Update en un dataset

21/03/2006 - 07:05 por Gerardo Cortes | Informe spam
Hola,

estoy haciendo una aplicacion que hace, por medio de datasets tipificados
inserts en una tabla, sin embargo, estos registros pueden ser editados por
el usuario desde la aplicacion, por lo tanto hacen updates, el problema que
tengo es que el insert lo hace perfectamente
con el addnew, pero el update me marca error ya que la llave primaria ya
existe, es como si el dataset no supiera que es un update

drvEmbarque = dsEmbarque.Table "Embarque"].DefaultView.AddNew();

ya trate con el beginedit:
drvEmbarque = dsEmbarque.Tables["Embarque"].DefaultView.AddNew();

drvEmbarque.BeginEdit();

pero tampoco funciona

alguna idea??

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 José Escrich
22/03/2006 - 04:16 | Informe spam
Gerardo,

fijate de utilizar GetChanges() para obtener una copia con un dataset que
contenga solo los cambios y a partir de allí aplica los cambios.
ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v8...hanges.htm

saludos,


José Escrich
jescrich (a) gmail.com
http://latincoder.com

GC> Hola,
GC>
GC> estoy haciendo una aplicacion que hace, por medio de datasets
GC> tipificados
GC> inserts en una tabla, sin embargo, estos registros pueden ser
GC> editados por
GC> el usuario desde la aplicacion, por lo tanto hacen updates, el
GC> problema que
GC> tengo es que el insert lo hace perfectamente
GC> con el addnew, pero el update me marca error ya que la llave
GC> primaria ya
GC> existe, es como si el dataset no supiera que es un update
GC> drvEmbarque = dsEmbarque.Table "Embarque"].DefaultView.AddNew();
GC>
GC> ya trate con el beginedit:
GC> drvEmbarque = dsEmbarque.Tables["Embarque"].DefaultView.AddNew();
GC> drvEmbarque.BeginEdit();
GC>
GC> pero tampoco funciona
GC>
GC> alguna idea??
GC>
GC> Gracias de antemano
GC>
Respuesta Responder a este mensaje
#2 Gilberto López
03/04/2006 - 04:22 | Informe spam
Seguro el problema que tienes, si funciona el agregado de datos y no la
modificación, es que estás "modificando" un registro pero haciendo el mismo
procedimiento que en un agregado. Haces un AddNew() y le pones los datos
(incluida la clave de la llave) esperando que el framework reconozca que el
registro ya existe. Esto no ocurre, lo que debes hacer es obtener los datos
leyendo el registrro directo de la BD y usar un BeginEdit() antes de
modificar los datos y un EndEdit() al terminar. Ya con esto ahora si puedes
ir a la BD y que actualice el registro.


Saludos

FLY

"Gerardo Cortes" wrote in message
news:
Hola,

estoy haciendo una aplicacion que hace, por medio de datasets tipificados
inserts en una tabla, sin embargo, estos registros pueden ser editados por
el usuario desde la aplicacion, por lo tanto hacen updates, el problema
que tengo es que el insert lo hace perfectamente
con el addnew, pero el update me marca error ya que la llave primaria ya
existe, es como si el dataset no supiera que es un update

drvEmbarque = dsEmbarque.Table "Embarque"].DefaultView.AddNew();

ya trate con el beginedit:
drvEmbarque = dsEmbarque.Tables["Embarque"].DefaultView.AddNew();

drvEmbarque.BeginEdit();

pero tampoco funciona

alguna idea??

Gracias de antemano

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida