Dudas al insertar un registro en una tabla

26/04/2005 - 16:39 por [Juanjo] | Informe spam
Hola grupo:

Estoy haciendo una programa con VC# y SQL Server (MSDE). Quiero inserta
un registro en
un tabla que tiene clave primaria (entero) y autoincremento. Para insertar
el registro uso
el sqlDataAdapter que genera automaticamente, por lo que no necesito
especificar ningun parametro
para la clave primaria pero necesito recuperar ese campo cuando inserto un
registro.Como puedo
recuperarlo

He pensado en hacer un insert y un select acontinuacion pero no veo
viable esa solucion.

Viendo tambien la sentencia que genera:
INSERT INTO persona
(nombre, apellido, fecha)
VALUES (@nombre, @apellido, @fecha);
SELECT Clave, nombre, apellido, fecha
FROM persona
WHERE (Clave = @@IDENTITY)
No entiendo porque hace un insert y un select. alguien me puede explicar
por que?

Muchas gracias de antemano

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
26/04/2005 - 20:38 | Informe spam
Juanjo,

El valor de la clave primaria se genera del lado del servidor, por eso
detrás del insert se ejecuta un SELECT con @@IDENTITY para recuperarlo y
traerlo al conjunto de datos ADO.NET.

Es la t´´ecnica "oficial". Mira:

http://support.microsoft.com/defaul...-us;320897

Slds - Octavio

"[Juanjo]" escribió en el mensaje
news:%23mao$
Hola grupo:

Estoy haciendo una programa con VC# y SQL Server (MSDE). Quiero inserta
un registro en
un tabla que tiene clave primaria (entero) y autoincremento. Para insertar
el registro uso
el sqlDataAdapter que genera automaticamente, por lo que no necesito
especificar ningun parametro
para la clave primaria pero necesito recuperar ese campo cuando inserto un
registro.Como puedo
recuperarlo

He pensado en hacer un insert y un select acontinuacion pero no veo
viable esa solucion.

Viendo tambien la sentencia que genera:
INSERT INTO persona
(nombre, apellido, fecha)
VALUES (@nombre, @apellido, @fecha);
SELECT Clave, nombre, apellido, fecha
FROM persona
WHERE (Clave = @@IDENTITY)
No entiendo porque hace un insert y un select. alguien me puede
explicar por que?

Muchas gracias de antemano

Respuesta Responder a este mensaje
#2 [Juanjo]
27/04/2005 - 00:43 | Informe spam
muchas gracias. tu sabes si puede recuperar el valor ese?

"Octavio Hernandez" escribió en el mensaje
news:
Juanjo,

El valor de la clave primaria se genera del lado del servidor, por eso
detrás del insert se ejecuta un SELECT con @@IDENTITY para recuperarlo y
traerlo al conjunto de datos ADO.NET.

Es la t´´ecnica "oficial". Mira:

http://support.microsoft.com/defaul...-us;320897

Slds - Octavio

"[Juanjo]" escribió en el mensaje
news:%23mao$
Hola grupo:

Estoy haciendo una programa con VC# y SQL Server (MSDE). Quiero
inserta un registro en
un tabla que tiene clave primaria (entero) y autoincremento. Para
insertar el registro uso
el sqlDataAdapter que genera automaticamente, por lo que no necesito
especificar ningun parametro
para la clave primaria pero necesito recuperar ese campo cuando inserto
un registro.Como puedo
recuperarlo

He pensado en hacer un insert y un select acontinuacion pero no veo
viable esa solucion.

Viendo tambien la sentencia que genera:
INSERT INTO persona
(nombre, apellido, fecha)
VALUES (@nombre, @apellido, @fecha);
SELECT Clave, nombre, apellido, fecha
FROM persona
WHERE (Clave = @@IDENTITY)
No entiendo porque hace un insert y un select. alguien me puede
explicar por que?

Muchas gracias de antemano





Respuesta Responder a este mensaje
#3 Octavio Hernandez
27/04/2005 - 17:15 | Informe spam
Leyendo el valor del campo correspondiente en el DataSet, ¿no?

"[Juanjo]" escribió en el mensaje
news:

muchas gracias. tu sabes si puede recuperar el valor ese?

"Octavio Hernandez" escribió en el mensaje
news:
Juanjo,

El valor de la clave primaria se genera del lado del servidor, por eso
detrás del insert se ejecuta un SELECT con @@IDENTITY para recuperarlo y
traerlo al conjunto de datos ADO.NET.

Es la t´´ecnica "oficial". Mira:

http://support.microsoft.com/defaul...-us;320897

Slds - Octavio

"[Juanjo]" escribió en el mensaje
news:%23mao$
Hola grupo:

Estoy haciendo una programa con VC# y SQL Server (MSDE). Quiero
inserta un registro en
un tabla que tiene clave primaria (entero) y autoincremento. Para
insertar el registro uso
el sqlDataAdapter que genera automaticamente, por lo que no necesito
especificar ningun parametro
para la clave primaria pero necesito recuperar ese campo cuando inserto
un registro.Como puedo
recuperarlo

He pensado en hacer un insert y un select acontinuacion pero no veo
viable esa solucion.

Viendo tambien la sentencia que genera:
INSERT INTO persona
(nombre, apellido, fecha)
VALUES (@nombre, @apellido, @fecha);
SELECT Clave, nombre, apellido, fecha
FROM persona
WHERE (Clave = @@IDENTITY)
No entiendo porque hace un insert y un select. alguien me puede
explicar por que?

Muchas 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