2008-10-07 11 views
6

Tengo una serie de tablas secundarias que tienen una clave externa para una tabla padre.Obtener la clave principal de una nueva entrada

¿Cómo agrego una entrada en la tabla principal y obtengo la clave primaria de esa entrada, para poder luego ingresar filas en las tablas secundarias que apuntan a la entrada en la tabla padre?

Estoy haciendo esto en una base de datos MS Access desde una aplicación C#.

+0

Usted no está utilizando una base de datos, sino una base de datos Jet. Access es una plataforma de desarrollo de aplicaciones, mientras que Jet es el motor de base de datos para el almacén de datos que es el predeterminado en Access. –

+0

Ya respondida (donde el número de tablas de referencia es uno). Ver: [http://stackoverflow.com/questions/151905/best-way-to-make-double-insert](http://stackoverflow.com/questions/151905/best-way-to-make-double- inserte "La mejor manera de hacer doble inserción") – onedaywhen

Respuesta

5

Microsoft Access 2000 o posterior admite la propiedad @@ IDENTITY para recuperar el valor de un campo Autonumérico después de un INSERT. (msdn)

Editar: This es el enlace a un artículo similar para .NET 3.5

+0

-1 para hacer referencia a la información desactualizada. La sección .NET 3.5 no hace mención de esto. – leppie

+0

¡Leppie, escribir la información actualizada hubiera sido genial! –

+0

Se agregó un enlace de 3.5, que está disponible en la página vinculada originalmente. – Instantsoup

3

Trate de buscar en las variables globales que le dará el valor de identidad. En SQL Server es:

SELECT @@ identidad

También busque en la función SCOPE_IDENTITY()

1

Debe ser capaz de SELECT @@ IDENTITY a pesar de que tendrá que usar una segunda consulta que hacer asi que. No creo que MS Access permita que se combine en una consulta.

Cuestiones relacionadas