Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2007, 14:39
nancy8120
 
Fecha de Ingreso: enero-2006
Mensajes: 233
Antigüedad: 19 años, 4 meses
Puntos: 2
problema al insertar varias filas con store procedure

hola
tengo un lista de reportes q voy escoguiendo con un chekbox entonces al selecionarlos los guardo en una tabla historica, el asunto es q utilizo un store procedure para hacer el insert por q necesito q me retorne un valor
bueno el asunto es q si solo seleciono uno se quarda bien en la tabla y me retorna el valor pero si seleciono mas de uno solo se me guarda uno y no me retorna valor les muestro el codigo y el store procedure
<%
'*******Cambia Status de los Reportes a Procesados (5)
for i=0 to ubound(laReportes,2)

cmdSRG.CommandText = "{call SP_VTHistoryRep(?,?,?,?,?,?,?,?,?,?)}"
cmdSRG.parameters.append cmdSRG.createparameter("Num(i)",adInteger, adParamOutput,3)
cmdSRG.parameters.append cmdSRG.createparameter("PsNumReporte(i)",adVarChar ,adParamInput,13)
cmdSRG.parameters.append cmdSRG.createparameter("PsConsec(i)",adInteger,adP aramInput,4)
cmdSRG.parameters.append cmdSRG.createparameter("Psfecha(i)",adDBDate,adPar amInput,133)
cmdSRG.parameters.append cmdSRG.createparameter("PsTotalFavor(i)",adCurrenc y,adParamInput,10)
cmdSRG.parameters.append cmdSRG.createparameter("PsConcepto(i)",adVarChar,a dParamInput,250)
cmdSRG.parameters.append cmdSRG.createparameter("PsStatus(i)",adChar,adPara mInput,1)
cmdSRG.parameters.append cmdSRG.createparameter("PsTipoReporte(i)",adChar,a dParamInput,1)
cmdSRG.parameters.append cmdSRG.createparameter("PslsCompania(i)",adChar,ad ParamInput,7)
cmdSRG.parameters.append cmdSRG.createparameter("PsIdnumEmpleado(i)",adVarC har,adParamInput,10)

cmdSRG.parameters("PsNumReporte(i)") =laReportes(0,i)
cmdSRG.parameters("PsConsec(i)")=laReportes(1,i)
cmdSRG.parameters("Psfecha(i)")=FormateaFechaServe r(lsFechaCreacion)
cmdSRG.parameters("PsTotalFavor(i)")=Request.Form( "hdnTotalFavor")(i+1)
cmdSRG.parameters("PsConcepto(i)")=replace(Request .Form("hdnConcepto")(i+1) ,"'","´")
cmdSRG.parameters("PsStatus(i)")=5
cmdSRG.parameters("PsTipoReporte(i)")=Request.form ("hdnTipoReporte")(i+1)
cmdSRG.parameters("PslsCompania(i)")=laReportes(5, i)
cmdSRG.parameters("PsIdnumEmpleado(i)")=laReportes (3,i)
cmdSRG.Execute
'response.end

next

%>
el store pro
alter procedure SP_VTHistoryRep(@Num int=Null OUTPUT,@PsNumReporte Varchar(13)=Null, @PnNumRep Int=Null, @PfCreacionReporte DateTime =Null,
@PnTotalFavor Money=Null,@PSConcepto Varchar(250)=Null, @PsIdStatus Char(1)=Null,
@PsIdTipoReporte Char (1)=Null, @PsIdCompania Char (7)=Null, @PsIdnumEmpleado Varchar(10)=Null) as

--verifica

begin
declare @Encontrado int
Set @Encontrado= (Select count(*)from THISTORYREP where @PsNumReporte=sNumReporte)
if @Encontrado > 0
Select @Num =1
else
INSERT INTO THistoryRep
(sNumReporte,nNumRep,fCreacionReporte,nTotalFavor, sConcepto,sIdStatus,sIdTipoReporte,sIdCompania,sId NumEmpleado)
VALUES(@PsNumReporte,@PnNumRep,@PfCreacionReporte, @PnTotalFavor,@PSConcepto,@PsIdStatus,@PsIdTipoRep orte,@PsIdCompania,@PsIdnumEmpleado)
Select @Num=2

end

GO