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

Problemas con mysql

Estas en el tema de Problemas con mysql en el foro de ASP Clásico en Foros del Web. Hola, Tengo una ASP que realiza una varias consultas a MySql. Todas las operaciones las realiza bien excepto una, cuando involucro el count(*). Por ejemplo: ...
  #1 (permalink)  
Antiguo 23/05/2005, 10:54
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años
Puntos: 0
Problemas con mysql

Hola,

Tengo una ASP que realiza una varias consultas a MySql. Todas las operaciones las realiza bien excepto una, cuando involucro el count(*). Por ejemplo:

select departamento.nombre, count(*) from departamento group by id_departamento

y me regresa cero el count.

No saben que estará pasando. Y lo mas extraño es pruebo la consulta el Mysql browser y funciona bien.

Gracias.
  #2 (permalink)  
Antiguo 23/05/2005, 12:04
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
mmm... prob´ña así:

select departamento.nombre, count(departamento.nombre) AS CuentaDepartamentos from departamento group by id_departamento

"Debería" funcionar...
__________________
...___...
  #3 (permalink)  
Antiguo 23/05/2005, 14:28
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años
Puntos: 0
Pues no funciono, ya no se que hacer.

Gracias.
  #4 (permalink)  
Antiguo 23/05/2005, 15:28
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola

Que error te arroja? es posible que la interface entre ASP y MySql no permita esa instruccion, porque es raro que dices que directo en MySql si funciona, y desde fuera no, a lo mejor es un error de ese tipo, otra cosa puede ser la forma en que realizar la llamada de la consulta, si usas un recordset si es muy probable que haya error, pues MySql no trata los recordset de la misma manera que SQL Server y otros, pero si haces una consulta del tipo:

set rs = conn.execute(SQL), no deberia haber problemas, aunque quien sabe, dinos como haces ese proceso para poder ayudarte mas.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #5 (permalink)  
Antiguo 23/05/2005, 16:11
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Probablemente sea el cursor que ocupas para abrir el recordset, como lo estas haciendo?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 24/05/2005, 15:35
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 19 años, 7 meses
Puntos: 0
Pues a mi lo que me extraña es que te funcione hasta directamente en el mysql browser. Supongo que la consulta correcta sería así:

SELECT departamento.nombre, count(*)
FROM departamento
GROUP BY departamento.nombre

Ya que cuando se utiliza el GROUP BY, únicamente pueden mostrarse los campos por los que se agrupa, y funciones de agrupado (o al menos eso me enseñaron en Oracle :P).

Por cierto, llevo un par de meses trabajando con ASP contra MySQL y con el count() no he tenido ningún problema.

Un saludo
  #7 (permalink)  
Antiguo 25/05/2005, 12:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años
Puntos: 0
Hola, al momento de invocar la consulta me devuelve cero en count(*), es decir, aparece lo siguiente:

ventas - 0
(en si, no muestra un error en la ejecucion, pero si en la consulta,deberia devolver 5)

En la parte del recordeset, le paso las siguiente opciones.

rs.open consulta, conn,3,1 'solo lectura

'Lo que no he intentando es:

set rs = conn.execute(SQL) 'en la noche llego y lo pruebo.

Para mas informacion, utilizo myoledb, para establecer la conexion a la base, esto puede afectar en el mal funcionamiento?.

Gracias por su ayuda.
  #8 (permalink)  
Antiguo 25/05/2005, 14:25
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 19 años, 7 meses
Puntos: 0
Pues puede ser por el MyOLEDB porque, ahora que lo dices, creo recordar que tuve problemas con el count() cuando utilizaba MyOLEDB. Me pasé a MyODBC ya que no conseguía de ninguna manera insertar datos y algunos problemas más.

Intenta probar la misma consulta con MyODBC. Tendría lógica que fuera por esa razon ya que dijiste que en el MySQL Browser funciona bien.

Un saludo
  #9 (permalink)  
Antiguo 25/05/2005, 17:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
El problema debe ser en el cursor o bien en el cerrojo...

Se me que trates de abrir tu recordset con 2,2

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 26/05/2005, 07:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años
Puntos: 0
Gracias, por su respuesta, en la noche cambiare la forma de conexion a MyODBC, y vere que pasa. En cuanto al recordset lo abro con 3,1, y ya lo he revisado muchas veces.
  #11 (permalink)  
Antiguo 26/05/2005, 09:00
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Tambien prueba esto:

set rs = conn.execute(SQL) 'en la noche llego y lo pruebo.

Bueno, solo por probar...
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #12 (permalink)  
Antiguo 27/05/2005, 07:16
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años
Puntos: 0
Hola
Probe
set rs=conn.execute(SQL)'pues no funciono...
Cambie la forma de conexion a odbc y si funciono.

Gracias por sus consejos.
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 22:24.