Foros del Web » Programando para Internet » ASP Clásico »

Ejecutar mas de una consulta en asp

Estas en el tema de Ejecutar mas de una consulta en asp en el foro de ASP Clásico en Foros del Web. Hola, tengo un reportador donde obtengo los datos historicos de alguna jornada y los muestro en pantalla, esto con consulta SQL el problema es que ...
  #1 (permalink)  
Antiguo 09/06/2010, 08:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años
Puntos: 2
Ejecutar mas de una consulta en asp

Hola, tengo un reportador donde obtengo los datos historicos de alguna jornada y los muestro en pantalla, esto con consulta SQL el problema es que ademas de mostrar estos datos quiero sacar un promedio con AVG, Algo como esto:
Código SQL:
Ver original
  1. SELECT AVG(PESO) FROM pesos WHERE FECHA BETWEEN '2010-06-09 00:00:00.000'
  2.                                     AND '2010-06-09 00:00:00.000' AND LINEA='L17S'
  3.                         AND codoptima=92
Mi duda es, tengo que crear otra conexion a SQL y otros objetos? es decir otro como:
Código ASP:
Ver original
  1. SET conexion=Server.CreateObject("ADODB.Connection")
  2. conexion.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV0;UID=sa;PWD=;DATABASE=wasp "
  3. SET registros=Server.CreateObject("ADODB.RecordSet")
Dejo mi codigo para aclarar mas dudas
Código ASP:
Ver original
  1. </tr>
  2. <&#37;
  3.  
  4. dim conexion,calendar1,calendar2,registros,linea
  5. calendar1=request.form("calendar1")
  6. calendar2=request.form("calendar2")
  7. linea=request.form("linea")
  8. Tubo=request.form("tubo")
  9.  
  10. SET conexion=Server.CreateObject("ADODB.Connection")
  11. conexion.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV02;UID=sa;PWD=messrv;DATABASE=wasp "
  12. SET registros=Server.CreateObject("ADODB.RecordSet")
  13. 'registros.open"SELECT peso,tubo from pesos where fecha  between '"&calendar1&"' AND '"&calendar2&"'",conexion
  14. if linea="1" Then
  15.  
  16. registros.open"SELECT p.peso,p.vaso,p.fecha, o.linea,o.tubo FROM pesos as p, optimas as o where o.codigo = p.codOptima  AND o.tubo LIKE '"&tubo&"'   AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'order by fecha",conexion
  17. else
  18. registros.open"SELECT p.peso,p.vaso,p.fecha, o.linea,o.tubo FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = '"&linea&"' and o.tubo LIKE '"&tubo&"'  AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'" ,conexion    
  19. end if
  20. do while not registros.eof
  21.  
  22. response.write("<tr>")
  23. response.write("<td>"&registros.fields("linea")&"</td>")
  24. response.write("<td>"&registros.fields("peso")&"</td>")
  25. response.write("<td>"&registros.fields("vaso")&"</td>")
  26. response.write("<td>"&registros.fields("tubo")&"</td>")
  27. response.write("<td>"&registros.fields("fecha")&"</td>")
  28. registros.movenext
  29.  
  30.  
  31. loop
  32. conexion.close
  33.  
  34.  
  35. 'SELECT p.peso,p.tubo,p.fecha, o.linea FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = 'L02N'  AND p.fecha Between '2010-05-11 09:42:34.000' AND '2010-05-11 09:42:39.000'
  36.  
  37. %>
  38. </tr>
  39. </table>
  40. </table>
  41. </font></p>
  #2 (permalink)  
Antiguo 09/06/2010, 09:12
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 9 meses
Puntos: 146
Respuesta: Ejecutar mas de una consulta en asp

Cita:
Mi duda es, tengo que crear otra conexion a SQL y otros objetos?
La conexión si es de a fuerzas

Los recordSet pueden ser creados implícitamente si no quieres definirlos de forma explícita, esto es igualando una variable al Execute(Query) de la conexión
  #3 (permalink)  
Antiguo 09/06/2010, 09:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años
Puntos: 2
Respuesta: Ejecutar mas de una consulta en asp

Hola, lo hice de la siguiente forma y me da este error:
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
(el error de linea 108 es el que viene aki en la linea 40, donde imprimo)
/Mes/Asp/was2/show2.asp, line 108

Y obviamente seguido del error me muestra los datos de la primera consulta.
Código ASP:
Ver original
  1. <&#37;
  2.  
  3. dim conexion,calendar1,calendar2,registros,linea
  4. calendar1=request.form("calendar1")
  5. calendar2=request.form("calendar2")
  6. linea=request.form("linea")
  7. Tubo=request.form("tubo")
  8.  
  9. SET conexion=Server.CreateObject("ADODB.Connection")
  10. conexion.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV02;UID=sa;PWD=messrv;DATABASE=wasp "
  11. SET registros=Server.CreateObject("ADODB.RecordSet")
  12. 'registros.open"SELECT peso,tubo from pesos where fecha  between '"&calendar1&"' AND '"&calendar2&"'",conexion
  13. if linea="1" Then
  14.  
  15. registros.open"SELECT p.peso,p.vaso,p.fecha, o.linea,o.tubo FROM pesos as p, optimas as o where o.codigo = p.codOptima  AND o.tubo LIKE '"&tubo&"'   AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'order by fecha",conexion
  16. else
  17. registros.open"SELECT p.peso,p.vaso,p.fecha, o.linea,o.tubo FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = '"&linea&"' and o.tubo LIKE '"&tubo&"'  AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'" ,conexion    
  18. end if
  19. do while not registros.eof
  20.  
  21. response.write("<tr>")
  22. response.write("<td>"&registros.fields("linea")&"</td>")
  23. response.write("<td>"&registros.fields("peso")&"</td>")
  24. response.write("<td>"&registros.fields("vaso")&"</td>")
  25. response.write("<td>"&registros.fields("tubo")&"</td>")
  26. response.write("<td>"&registros.fields("fecha")&"</td>")
  27. registros.movenext
  28.  
  29.  
  30. loop
  31. conexion.close
  32.  
  33.  
  34. 'SELECT p.peso,p.tubo,p.fecha, o.linea FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = 'L02N'  AND p.fecha Between '2010-05-11 09:42:34.000' AND '2010-05-11 09:42:39.000'
  35. SET conexion2=Server.CreateObject("ADODB.Connection")
  36. conexion2.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV02;UID=sa;PWD=messrv;DATABASE=wasp "
  37. SET registros2=Server.CreateObject("ADODB.RecordSet")
  38. registros2.open"SELECT AVG(PESO) from pesos where fecha Between '"&calendar1&"' AND '"&calendar2&"'",conexion2
  39. do while not registros2.eof
  40. response.write(""&registros2.fields("peso")&"")
  41. registros2.movenext
  42. loop
  43. conexion2.close
  44. %>
En que la estoy regando? =/
  #4 (permalink)  
Antiguo 09/06/2010, 10:02
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 9 meses
Puntos: 146
Respuesta: Ejecutar mas de una consulta en asp

No hay una columna llamada Peso

Debes usar un alias:


Cita:
registros2.open"SELECT AVG(PESO) as peso from pesos where fecha Between '"&calendar1&"' AND '"&calendar2&"'",conexion2
  #5 (permalink)  
Antiguo 09/06/2010, 10:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años
Puntos: 2
Respuesta: Ejecutar mas de una consulta en asp

Muchas muchas GRACIAS SR. ya quedo!!!

Etiquetas: asp, ejecutar, mas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:20.