Lo habia imaginado compadre, por eso es tal cual se lo mande, solo que ES
NECESARIO que en el SP exista un parametro del tipo OUTPUT para poder
recuperar el newID; el SP deberia ser algo asi.

create procedure INSERTONUEVAFACTURA
@idFactura int out,
@unvalor decimal(10,4),
@otrovalor decimal(10,4)
as
insert into FACTURA (unvalor, otrovalor) values (@unvalor, @otrovalor)
set @idFactura = scope_identity

luego al ejecutar tal como le pase anteriormente el comando, su variable
@idFactura quedara con el nuevo ID insertado.

Abrazos
JAE
2009/4/23 Mario Munuce <[email protected]>

>  casi casi, maestro!.
> pero tengo un pequeño problema: el id primario no es un autoinc sino que es
> del tipo uniqueidentifier y el nuevo valor se obtiene con newid(). ahora. el
> pex es al insertar, porque necesito saber que valor le dio al nuevo
> registro, para poder usarlo en la insercion de las lineas de la factura.
>
> el diseño no es mio y no lo puedo modificar.
> en este caso, como catzo funcionaria?
> como siempre, gracias de antemano.
> abreso,
> m.
>
>  *From:* Jorge A. Espinosa <[email protected]>
> *Sent:* Thursday, April 23, 2009 4:49 PM
> *To:* GUFA List Member <[email protected]>
> *Subject:* [GUFA] SQLEXEC.
>
> Compadre...
>
> Podria usted hacer lo siguiente (asumiendo un valor ID autoinc en la BD, el
> cual seria el ID Primario de la cabecera)
>
> nRetVal = 0 && Es la variable para guardar el PK insertado
> nResult = SQLEXEC(nConn,[EXEC sp_yourproc
> ?cValor1,?cValor2,?cValor3,?...@nretval])
>
> y luego en un foreach haces lo mismo para cada detalle enviandole el valor
> obtenido en
> ?...@nretval para poder sostener la integridada referencial.
>
> Espero haber sido de utilidad interpretando vtro problema
>
> Abrazo
> JAE
>
>
>
>
>  2009/4/23 Mario Munuce <[email protected]>
>
>>  Muchachos:
>>  me pueden pasar un ejemplo de como dar un alta de un one-to-many
>> utilizando sqlexec?.( por ejemplo un cabezal-cuerpo de factura)  gracias.
>>
>
>
>
>

Responder a