FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema con RecordCount
Hola gente!, hice un procedimiento que obtiene los campos que pertenecen a un determinado indice. Para esto, utilice las tablas del sistema sys.Columns, sys.Index_Columns y sys.Indexes. Antes que nada les menciono que la sentencia SQL Select que utiliza el TSQLQuery esta probada, funciona perfectamente. El procedimiento crea un objeto SQLQuery, le asigno el SQLConnection y en su propiedad SQL agrego las sentencias. Esta pueden devolver uno o mas campos, por lo tanto, para saber esto aplico la propiedad RecordCount, que al ejecutarse produce el error: 'El nombre de objeto sys.columns no es valido'. Recalco que es con esta propiedad que surge el inconveniente ya que si no la aplico, puedo obtener sus datos de manera habitual. La solución seria utilizar algún otro tipo de propiedad o configurar algo que me este faltando. La prepare carece en este componente. Bueno escucho sugerencias. Slds. |
#2
|
||||
|
||||
Yo no me he enterado de lo que estás haciendo, de lo que quieres conseguir, del problema que tienes ni de nada
|
#3
|
||||
|
||||
Código:
Última edición por Jere_84 fecha: 15-06-2012 a las 16:13:51. Razón: no toma el codigo fuente |
#4
|
||||
|
||||
Prueba asi
mas o menos |
#5
|
||||
|
||||
bueno y te sirvio?
|
#6
|
||||
|
||||
No recorre el while solo pasa una vez y a la siguiente se va a finally no se porque, siendo que hay otros campos mas. Ademas desmarque el First para que se posiciones sobre el primer lugar, pero nada..
|
#7
|
||||
|
||||
haber asi
|
#8
|
||||
|
||||
Cita:
|
#9
|
||||
|
||||
ummm recordcount o lo que tienes en recordcount>0de ciertta forma es lo mismo que eof ya que validan si el query esta vacio, ahora el error que te marca es que no existe ese campo en la consulta que estas haciendo, es decir sys.columns no es valido. no forma parte de tu consulta.
|
#10
|
||||
|
||||
Cita:
|
#11
|
||||
|
||||
Hola Jere_84
Has repasado bien la SQL, la he realizado en mi ordenador y funciona correctamente, porque utilizas alias tan largos. En vez de sys.columns AS Columnas, utiliza AS C, o algo parecido.
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#12
|
||||
|
||||
Cita:
|
#13
|
||||
|
||||
No sé exactamente de qué va el hilo este, pero hay que tener en cuenta un 'pequeño' detalle:
recordcount no devuelve el número de registros involucrados en un query. Habría que ir al último registro (hacer un fetch) para, ahora sí, usar el valor de recordcount. Resumiendo:
|
#14
|
||||
|
||||
Cita:
Efectivamente te devuelve 1 registro
Pero esto te devuelve cuantos registros hay
Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. Última edición por olbeup fecha: 16-06-2012 a las 01:38:49. |
#15
|
||||
|
||||
Cita:
|
#16
|
||||
|
||||
Entonces andará mal tu Delphi, porque RecordCount devuelve la cantidad de registros. El nombre de la propiedad lo dice.
Slds. |
#17
|
||||
|
||||
¿Lo has probado?
|
#18
|
||||
|
||||
Hola.
Cita:
Si tu intención es saber la cantidad de resultados que arrojó tu consulta: O, si no te importa, podrías obtenerlo en una misma consulta GROUP BY mediante, pero te devolverá NOMBRE y CANTIDAD. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 16-06-2012 a las 21:42:32. |
#19
|
||||
|
||||
Tengo muchas aplicaciones así y ninguna me ha fallado, trabajo con SQL SERVER 2005 y hasta ahora RecordCount se ha portado, sólo trabajo con ADOQuery, nunca he trabajado con ADOTABLE que también está el RecordCount, lo he probado muchas veces ADOQuery.RecordCount y devuelve los registros que contiene el ADOQuery, ni más ni menos.
Esta consulta es más rápida porque sólo devuelve un registro, pero tan válida cómo ADOQuery.RecordCount Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#20
|
||||
|
||||
Si el componente que estás usando tiene alguna propiedad del tipo "FetchAllRecords" y está a True, entonces es el motivo por el que te funciona el recordcount.
Pero ten en cuenta que eso es sólo por lo que he comentado, por el valor de una propiedad, ya que un select a una base de datos no puede saber cuántos registros involucra, salvo que vaya hasta el último, es algo elemental que verás en cualquier tutorial sql de cualquier base de datos. Tenlo presente, y no te encabezones , RecordCount NO devuelve el número de registros. Salvo que sea una tabla plana, que no es el caso. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
RecordCount -1 | bjaeger | Conexión con bases de datos | 2 | 27-01-2010 03:14:53 |
Problema con la funcion recordcount de los TIBQuery | capo979 | Conexión con bases de datos | 14 | 26-03-2008 16:02:02 |
SQL y RecordCount | UREÑA | SQL | 5 | 28-08-2007 14:32:14 |
Problema con TQuery.RecordCount | kuan-yiu | Varios | 4 | 26-10-2006 18:54:31 |
Problema con un RecordCount | Lucciano | Conexión con bases de datos | 4 | 07-04-2006 15:40:54 |
|