SQL - Como obtengo el identity despues de insertar???

 
Vista:

Como obtengo el identity despues de insertar???

Publicado por Jc (18 intervenciones) el 17/06/2002 08:35:48
Necesito obtener el valor del identity luego de insertar un record..y utilizarlo a traves de un recordset en VB...
trate mas o menos así...
1. SQL (proc. alm.)

CREATE PROCEDURE [insert_clientes]
(@nombre [varchar](50),
@ape_paterno [varchar](50),
@ape_materno [varchar](50))

AS INSERT INTO [gimnasio].[dbo].[funcionarios]
([nombre],
[ape_paterno],
[ape_materno])

VALUES
( @nombre,
@ape_paterno,
@ape_materno)

declare codigo int
select @@identity as codigo
GO

2. Luego en Vb. con un recordset
Set rsCliente = New ADODB.Recordset
rsCliente.Source = "exec insert_clientes ' " & var_nombre & "'" & _
& var_paterno & "'" & _
& var_materno & "'"
Set rsCliente.ActiveConnection = cntion
rsCliente.Open

3. Lo obtengo con
rsCliente("codigo")

Aunque en el analizador de consultas aparece asignada la columna código con el valor correcto, en el programa Vb la variable siempre aparece vacia...

Help !!!

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como obtengo el identity despues de insertar???

Publicado por Islas, Isaías (5072 intervenciones) el 17/06/2002 18:28:38
Podria probara con este codigo:

Dim Res As ADODB.Recordset
Dim Conexion As String

Conexion = "Driver={SQL SERVER};Server=MyServer;Database=MyBase;UID=MyUsuario;pwd=MyPassword;"

Set Res = New ADODB.Recordset
Res.Open "exec insert_clientes ' " & var_nombre & "'" & _
& var_paterno & "'" & _
& var_materno & "'",
_
Conexion, adOpenForwardOnly, adLockReadOnly
'FlexDatos.Rows = FlexDatos.FixedRows
If (Res.EOF) = False Then
Text1.Text = Res(0) ' Aqui tengo el Identity
End If
Set Res = Nothing
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar