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. >> > > > >
