Resumen Devolver el valor del campo identity del nuevo registro   (3 mensajes )

Mensaje enviado por "Alberto M. Vernieri \(ar\)" <avernieri@interprov.com>

Hola!

Al final de tu procedure hace un SELECT @@IDENTITY y retornalo....

Saludos
Alberto

Mensaje enviado por "Alberto M. Vernieri \(ar\)" <avernieri@interprov.com>

Hola!

Simplemente, después de tu insert (pero en la misma transacción) ejecutá un "SELECT @@IDENTITY"

Saludos
Alberto

Mensaje enviado por Roberto Figueroa Garibay (fígaro) <figaro_foro@softhome.net>

Sin embargo ese valor también se encuentra en la variable @@IDENTITY.

En un ambiente multiusuario lo mejor sería que tuvieras un StoredProcedure que te inserte el registro y regrese el valor de esa variable.

Algo así:

Create Procedure InsertaRegistroTabla
    @valor1 int, @valor2 int, ..., @valorN char(6)
AS

--La siguiente variable sería del mismo tipo que tu columna Autonumérica
-- Inicias una transacción
BEGIN TRAN

--Insertas los valores en la tabla
INSERT INTO TABLA VALUES(@valor1, @valor2, ..., @valorN)

IF (@@error <> 0)
 BEGIN
  -- si hubo error cancelas la transacción, y despliegas un mensaje de error
   ROLLBACK TRANSACTION
   raiserror('Error al insertar registro en ',16,1)
 END
ELSE
 BEGIN
  -- si todo salió bien se acepta la transacción y se regresa el valor
@@IDENTITY
   COMMIT TRAN
   return @@identity
 END


Saludos!!


Roberto Figueroa Garibay (fígaro)
roberto_figueroa@sinergia.com.mx
Sinergia Servicios
www.sinergia.com.mx

> -----Mensaje original-----
> Asunto: vb-esp : Tablas Inserted y Deleted
>
> El tema es el siguiente:
> En una Tabla determinada tengo un campo clave autonumérico
> quiero saber cuando inserto un registro en esta que valor toma
> ese campo, ese valor se encuentra en la tabla Inserted del SQL
> pero no se tomarlo desde Visual Basic.
>
> Espero me entiendan.
> Gracias
> Daniel
>



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com