Power Builder - Contar registros

 
Vista:

Contar registros

Publicado por Ceci (5 intervenciones) el 31/05/2002 17:03:27
Estoy utilizando cursores y deseo obtener la cantidad de registros que obtiene una sentencia SELECT. Como lo puedo hacer? lo phe probado de las siguientes maneras y no funciona. Que hago mal? Mil GRACIAS.

SELECT count(*)
into :reg,
fechas.fec_titulo,
fechas.fec_fecha,
fechas.fec_obser
FROM fechas
WHERE fechas.fec_fecha='30/05/02'
GROUP BY fechas.fec_fecha;

y

select count(*)
into :reg
from fechas
where fechas.fec_fecha='30/05/02' ;

ME dice que el cursor no esta abierto.

Para abrirlo uso:

FETCH Fech_Imp_hoy INTO :titul, :fechis, :observa;
y

FETCH Fech_Imp_hoy into :reg;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Contar registros

Publicado por Ayudante (29 intervenciones) el 31/05/2002 17:09:19
La sentencia esta muy bien ...aclara un poco mas tu pregunta para poderte ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar registros

Publicado por ces (5 intervenciones) el 31/05/2002 17:21:50
Mira con la siguiente sentencia quiero obtener los registros y el numero de registros que regresa.

Cuando compilo, no me marca error, sin embargo cuando corro la aplicacion, me sale una ventanita que me dice que el cursor no esta abierto.

DECLARE Fech_Imp_hoy CURSOR FOR
SELECT count(*) as canti,
fechas.fec_titulo,
fechas.fec_fecha,
fechas.fec_obser
FROM fechas
WHERE fechas.fec_fecha='30/05/02'
GROUP BY fechas.fec_fecha;

OPEN Fech_Imp_hoy;
FETCH Fech_Imp_hoy INTO :reg, :titul, :fechis, :observa;

donde reg es un Long que guardara canti, osea mi cantidad de registros.

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar registros

Publicado por ayudante (29 intervenciones) el 31/05/2002 17:36:03
Ok...ya vi lo que te esta ocurriendo, cada vez que utilizas una funcion en este caso COUNT(*), el Group by debe tener todos los campos del select....
Ejemplo1:
DECLARE Fech_Imp_hoy CURSOR FOR
SELECT count(*) FROM fechas
WHERE fechas.fec_fecha='30/05/02' ;

OPEN Fech_Imp_hoy;
FETCH Fech_Imp_hoy INTO :reg;

Ejemplo2:
DECLARE Fech_Imp_hoy CURSOR FOR
SELECT count(*), fechas.fec_fecha FROM fechas
WHERE fechas.fec_fecha='30/05/02'
GROUP BY fechas.fec_fecha;

OPEN Fech_Imp_hoy;
FETCH Fech_Imp_hoy INTO :reg, :fechis;

Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar registros

Publicado por saenix (17 intervenciones) el 06/06/2002 17:35:02
si quieres saber cuantos registros te devuelve un cursor en power builder , usa la propiedad SQLNRows de la transaccion despues de hacer el open del cursor , creo que eso resuelve tu problema

ej.

Open micursor;

if sqlca.sqlnrows > 0 then
messagebox ("mayor", "x")
end if


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar