Devolver un @@Identity

29/01/2006 - 02:18 por Julieta | Informe spam
hola a todos!!

alguien podria decirme como hacer para que cuando actualice la base de datos
con el metodo Update del sqlDataAdapter, me devuelva la valor de una columna
autoincremental de sql server.???
en la ayuda busque identidad y encontre un ejemplo pero no se aplicarlo.

gracias.

Preguntas similare

Leer las respuestas

#1 Jesús López
29/01/2006 - 09:20 | Informe spam
La propiedad CommandText del InsertCommand del DataAdapter deberá tener la
forma:

INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
SELECT @@Identity As NombreCampoAutonumérico

Si estamos en SQL 2000 ó 2005, es mejor usar SCOPE_IDENTITY():

INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
SELECT SCOPE_IDENTITY() As NombreCampoAutonumérico

También vale esta otra:

INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
SELECT NombreCampoAutonumérico, Campo1, Campo2
FROM Tabla
WHERE NombreCampoAutonumérico = SCOPE_IDENTITY()

La propiedad UpdatedRowSource del InsertCommand deberá ser
FirstReturnedRecord o Both.

Con esto, el DataAdapter actualizará automáticamente el campo autonumérico
en el datarow recién insertado en la base de datos con el valor devuelto por
SCOPE_IDENTITY()

Saludos:

Jesús López
MVP
Respuesta Responder a este mensaje
#2 Julieta
30/01/2006 - 17:42 | Informe spam
gracias por contestarme.
ya intente hacerlo pero sigue sin devolverme el campo autonumerico, hay que
establecer algo en la columna autonumerica del datatable???

"Jesús López" wrote in message
news:
La propiedad CommandText del InsertCommand del DataAdapter deberá tener


la
forma:

INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
SELECT @@Identity As NombreCampoAutonumérico

Si estamos en SQL 2000 ó 2005, es mejor usar SCOPE_IDENTITY():

INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
SELECT SCOPE_IDENTITY() As NombreCampoAutonumérico

También vale esta otra:

INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
SELECT NombreCampoAutonumérico, Campo1, Campo2
FROM Tabla
WHERE NombreCampoAutonumérico = SCOPE_IDENTITY()

La propiedad UpdatedRowSource del InsertCommand deberá ser
FirstReturnedRecord o Both.

Con esto, el DataAdapter actualizará automáticamente el campo autonumérico
en el datarow recién insertado en la base de datos con el valor devuelto


por
SCOPE_IDENTITY()

Saludos:

Jesús López
MVP


Respuesta Responder a este mensaje
#3 Julieta
30/01/2006 - 21:16 | Informe spam
Ya pude hacerlo, pero con @@identity porque con scope_identity no andaba.

gracias por todo!!!

"Julieta" wrote in message
news:
gracias por contestarme.
ya intente hacerlo pero sigue sin devolverme el campo autonumerico, hay


que
establecer algo en la columna autonumerica del datatable???

"Jesús López" wrote in message
news:
> La propiedad CommandText del InsertCommand del DataAdapter deberá tener
la
> forma:
>
> INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
> SELECT @@Identity As NombreCampoAutonumérico
>
> Si estamos en SQL 2000 ó 2005, es mejor usar SCOPE_IDENTITY():
>
> INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
> SELECT SCOPE_IDENTITY() As NombreCampoAutonumérico
>
> También vale esta otra:
>
> INSERT INTO TABLA(Campo1, Campo2, ) VALUES(@Campo1, @Campo2, ...);
> SELECT NombreCampoAutonumérico, Campo1, Campo2
> FROM Tabla
> WHERE NombreCampoAutonumérico = SCOPE_IDENTITY()
>
> La propiedad UpdatedRowSource del InsertCommand deberá ser
> FirstReturnedRecord o Both.
>
> Con esto, el DataAdapter actualizará automáticamente el campo


autonumérico
> en el datarow recién insertado en la base de datos con el valor devuelto
por
> SCOPE_IDENTITY()
>
> Saludos:
>
> Jesús López
> MVP
>
>


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