Re: contar filas

From: Guillermo Muñoz <munozgb(at)gmail(dot)com>
To: "Henry" <hensa22(at)yahoo(dot)es>, "Gabriel Ferro" <gabrielrferro(at)yahoo(dot)com(dot)ar>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: contar filas
Date: 2007-12-19 03:08:42
Message-ID: 2230017FF5854867B8E3CC52DB8F75EF@GBM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Original Message -----
From: "Henry" <hensa22(at)yahoo(dot)es>
To: "Gabriel Ferro" <gabrielrferro(at)yahoo(dot)com(dot)ar>;
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Tuesday, December 18, 2007 12:52 PM
Subject: RE: [pgsql-es-ayuda] contar filas

>
> --- Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
> escribió:
>
>> maestros estoy haciendo consultas, desde VB6 a
>> postgre, donde intervienen varias tablas, como por
>> ejemplo
>> SELECT actadenuncia.*, dependencias.nombre AS depe,
>> juzgados.nombre AS juzg FROM juzgados
>> INNER JOIN actadenuncia ON (juzgados.codjuzg =
>> actadenuncia.juzgado)
>> INNER JOIN dependencias ON
>> (actadenuncia.dependencia = dependencias.coddpcia)
>> WHERE (depta='SR') ORDER BY depta, depe, juzg,
>> fechadenuncia;
>>
>>
>> lo que quiero es saber cuentas filas tengo pero el
>> recordcount no me funciona, siempre me da -1,
>> entonces me puse a ver la funcion COUNT y haciendo:
>>
>> select count(*) from (SELECT actadenuncia.*,
>> dependencias.nombre AS depe, juzgados.nombre AS juzg
>> FROM juzgados
>>
>> INNER JOIN actadenuncia ON (juzgados.codjuzg =
>> actadenuncia.juzgado)
>>
>> INNER JOIN dependencias ON
>> (actadenuncia.dependencia = dependencias.coddpcia)
>>
>> WHERE (depta='SR') ORDER BY depta, depe, juzg,
>> fechadenuncia) as foo;
>>
>> funciona, pero no me sirve ya que requiero usar los
>> campos y hacer dos consultas a la vez me parece
>> irrisorio. ¿que recomiendan?
>>
>>
>>
>>
>> Tarjeta de crédito Yahoo! de Banco
>> Supervielle.
>> Solicitá tu nueva Tarjeta de crédito. De tu PC
>> directo a tu casa. www.tuprimeratarjeta.com.ar
>> --
>
>
> tienes que usar el cursor del ADO del lado del cliente
> no del server,
>

No necesariamente, es mas en la forma es que se abren los recorset y que no
sea eof

> creo que es algo como:
> set rst=new ADODB.Recordset
> rst.CursorLocation=AduClient
> .

En el supuesto que estes usando ADO via ODBC, abri los recorset de la
siguente forma:
set rst=new ADODB.Recordset

sql="SELECT actadenuncia.*, dependencias.nombre AS depe, juzgados.nombre AS
juzg FROM juzgados INNER JOIN actadenuncia ON (juzgados.codjuzg =
actadenuncia.juzgado) " & _
" INNER JOIN dependencias ON (actadenuncia.dependencia =
dependencias.coddpcia) WHERE (depta='SR') ORDER BY depta, depe, juzg,
fechadenuncia;"
rst.Open sql, conexion, adOpenKeyset, adLockReadOnly
if Not Rst.EOF then
if Rst1.RecordCount>=1 then ' solo ejemplo
...
end if
end if

esta combinacion adOpenKeyset, adLockReadOnly la desventaja que tiene es que
es de solo lectura, pero te va a solucionar el problema

Esto esta en la ayuda de VB (msdn) si buscar por ado recorset esta
explicado, pero no esta comentado explicitamente, osea te comenta estos tipo
y el tratamiento que hace con los datos y transacciones lo que te orienta
pero ....

Saludos
Guillermo Muñoz

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2007-12-19 03:52:20 Re: Calcular Numero de Meses OT
Previous Message marcelo Cortez 2007-12-19 02:46:23 Re: confucion con pgsql functions