error al llamar un sp
Publicado por orlando (3 intervenciones) el 23/10/2009 20:14:54
hola amigos espero k me puedan ayudar tengo un problema manejando un store
desde visual al entrar al recordset me manda error
"operations not allowed because the object is closed"
y lo abro de igual manera en asp y si me funciona kual podria ser el error
conn.Open "Provider=sqloledb;" & _
"Data Source=SRVSALT12;" & _
"Initial Catalog=cptdryers;" & _
"User Id=sa;Password=.lavsal"
strQuery1 = "cptSecProdEmbarGeo"
Set rs1 = conn.Execute(strQuery1)
While Not rs1.EOF And n < 100
pnc(n) = rs1.Fields("prod")
serie(n) = rs1.Fields("serie")
fecha(n) = rs1.Fields("fecha")
pnc1(n) = rs1.Fields("prod")
serie1(n) = rs1.Fields("serie")
fecha1(n) = rs1.Fields("fecha")
aki dejo el sp
CREATE procedure cptSecProdEmbarGeo as
CREATE TABLE #TEMP
(
Prod varchar(20),
serie integer,
Fecha varchar(20)
)
create table #temp1
(
pr1 varchar(20),
cant1 integer,
fecha1 varchar(20)
)
create table #temp2
(
pr2 varchar(20),
cant2 integer,
fecha2 varchar(20)
)
create table #temp3
(
pr3 varchar(20),
cant3 integer,
fecha3 varchar(20)
)
insert into #temp1(pr1,cant1,fecha1)
select pro.ProductoNombreCorto , count(ser.serie) as serie, right('00'+convert(varchar(2),datepart(mm,getdate())),2)+right('00'+convert(varchar(2),datepart(dd,getdate())),2)as fecha
from cptserie ser,
cptproducto pro
where ser.productoid in (1,2,3,4,5,6,14,15,16,17,18,22,64,28,53,63,56,55,27)
and ser.productoid = pro.productoid
and ser.timestamp >= getdate()-1
group by pro.ProductoNombreCorto
insert into #temp2(pr2,cant2,fecha2)
select prod.ProductoNombrecorto , (count(ser.serie)*-1) as serie, right('00'+convert(varchar(2),datepart(mm,getdate())),2)+right('00'+convert(varchar(2),datepart(dd,getdate())),2)as fecha
from cptRequisicionClienteSerieItem crcsi
inner join cptserie ser on crcsi.serieid=ser.serieid
inner join cptProducto prod on ser.productoid=prod.productoid
where crcsi.timestamp>=getdate()-1
and ser.productoid in (1,2,3,4,5,6,14,15,16,17,18,22,64,28,53,63,56,55,27)
group by ProductoNombreCorto
insert into #temp3(pr3,cant3,fecha3)
select ent.modelo,(count(ent.serie)*-1) as cantidad, right('00'+convert(varchar(2),datepart(mm,getdate())),2)+right('00'+convert(varchar(2),datepart(dd,getdate())),2)as fecha
from srvsalt13.dbsolicitudpruebassec.dbo.entradalaboratorio ent
where fecha<=getdate()-1
group by ent.modelo
insert into #temp (Prod,serie,fecha)
select t1.pr1,sum(t1.cant1+t2.cant2+t3.cant3),t1.fecha1
FROM #temp1 t1,#temp2 t2,#temp3 t3
where t1.pr1=t2.pr2 and t3.pr3=t1.pr1
group by t1.pr1,t1.fecha1
select prod,serie,fecha
from #temp
RETURN
GO
bueno espero su ayuda saludos
desde visual al entrar al recordset me manda error
"operations not allowed because the object is closed"
y lo abro de igual manera en asp y si me funciona kual podria ser el error
conn.Open "Provider=sqloledb;" & _
"Data Source=SRVSALT12;" & _
"Initial Catalog=cptdryers;" & _
"User Id=sa;Password=.lavsal"
strQuery1 = "cptSecProdEmbarGeo"
Set rs1 = conn.Execute(strQuery1)
While Not rs1.EOF And n < 100
pnc(n) = rs1.Fields("prod")
serie(n) = rs1.Fields("serie")
fecha(n) = rs1.Fields("fecha")
pnc1(n) = rs1.Fields("prod")
serie1(n) = rs1.Fields("serie")
fecha1(n) = rs1.Fields("fecha")
aki dejo el sp
CREATE procedure cptSecProdEmbarGeo as
CREATE TABLE #TEMP
(
Prod varchar(20),
serie integer,
Fecha varchar(20)
)
create table #temp1
(
pr1 varchar(20),
cant1 integer,
fecha1 varchar(20)
)
create table #temp2
(
pr2 varchar(20),
cant2 integer,
fecha2 varchar(20)
)
create table #temp3
(
pr3 varchar(20),
cant3 integer,
fecha3 varchar(20)
)
insert into #temp1(pr1,cant1,fecha1)
select pro.ProductoNombreCorto , count(ser.serie) as serie, right('00'+convert(varchar(2),datepart(mm,getdate())),2)+right('00'+convert(varchar(2),datepart(dd,getdate())),2)as fecha
from cptserie ser,
cptproducto pro
where ser.productoid in (1,2,3,4,5,6,14,15,16,17,18,22,64,28,53,63,56,55,27)
and ser.productoid = pro.productoid
and ser.timestamp >= getdate()-1
group by pro.ProductoNombreCorto
insert into #temp2(pr2,cant2,fecha2)
select prod.ProductoNombrecorto , (count(ser.serie)*-1) as serie, right('00'+convert(varchar(2),datepart(mm,getdate())),2)+right('00'+convert(varchar(2),datepart(dd,getdate())),2)as fecha
from cptRequisicionClienteSerieItem crcsi
inner join cptserie ser on crcsi.serieid=ser.serieid
inner join cptProducto prod on ser.productoid=prod.productoid
where crcsi.timestamp>=getdate()-1
and ser.productoid in (1,2,3,4,5,6,14,15,16,17,18,22,64,28,53,63,56,55,27)
group by ProductoNombreCorto
insert into #temp3(pr3,cant3,fecha3)
select ent.modelo,(count(ent.serie)*-1) as cantidad, right('00'+convert(varchar(2),datepart(mm,getdate())),2)+right('00'+convert(varchar(2),datepart(dd,getdate())),2)as fecha
from srvsalt13.dbsolicitudpruebassec.dbo.entradalaboratorio ent
where fecha<=getdate()-1
group by ent.modelo
insert into #temp (Prod,serie,fecha)
select t1.pr1,sum(t1.cant1+t2.cant2+t3.cant3),t1.fecha1
FROM #temp1 t1,#temp2 t2,#temp3 t3
where t1.pr1=t2.pr2 and t3.pr3=t1.pr1
group by t1.pr1,t1.fecha1
select prod,serie,fecha
from #temp
RETURN
GO
bueno espero su ayuda saludos
Valora esta pregunta


0